<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>min0jun 님의 블로그</title>
    <link>https://min0jun.tistory.com/</link>
    <description>min0jun 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 19 Aug 2026 23:12:34 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>min0jun</managingEditor>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 49일차</title>
      <link>https://min0jun.tistory.com/59</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;실전 리포팅 자동화 - ChatGPT API와 Streamlit 활용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;span&gt;&lt;b&gt;ChatGPT API를 활용한 리포팅 자동화&lt;/b&gt;&lt;/span&gt;를 학습했다. 단순히 데이터를 시각화하는 것에서 끝나는 것이 아니라, 대시보드에서 AI를 활용해 분석 결과를 자동으로 요약하고 보고서를 생성하는 전체 흐름을 이해하는 것이 목표였다. 또한 &lt;span&gt;&lt;b&gt;API 개념, OpenAI API 사용법, 프롬프트 작성 방법, Streamlit과 연동하는 방법&lt;/b&gt;&lt;/span&gt;까지 함께 학습했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;ChatGPT API란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT를 웹사이트에서 사용하는 것과 API를 사용하는 것은 조금 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹에서는 사용자가 직접 질문을 입력하지만, API를 사용하면 프로그램에서 ChatGPT에게 질문을 보내고 결과를 받아올 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 활용하면 대시보드에서 버튼 하나만 눌러도 AI가 데이터를 분석하고 요약해 주거나, 보고서를 자동으로 작성하는 기능을 만들 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &lt;span&gt;&lt;b&gt;반복적으로 작성하던 분석 결과를 자동화할 수 있다는 것이 가장 큰 장점&lt;/b&gt;&lt;/span&gt;&lt;span&gt;이다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;OpenAI API 사용 과정&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;API를 사용하기 위해서는 먼저 OpenAI에서 발급받은 API Key가 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 Python에서 OpenAI 라이브러리를 설치하고 API Key를 등록하면 ChatGPT 모델과 통신할 수 있다.&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;API Key 발급&lt;/li&gt;
&lt;li&gt;Python에서 OpenAI 라이브러리 설치&lt;/li&gt;
&lt;li&gt;API Key 등록&lt;/li&gt;
&lt;li&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;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;프롬프트 작성의 중요성&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 데이터를 입력하더라도 프롬프트를 어떻게 작성하느냐에 따라 결과의 품질이 크게 달라진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 단순히 &amp;ldquo;분석해줘&amp;rdquo;라고 요청하는 것보다,&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;결과 형식&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;AI를 잘 활용하기 위해서는 &lt;span&gt;&lt;b&gt;좋은 프롬프트를 작성하는 능력도 중요한 역량&lt;/b&gt;&lt;/span&gt;이라는 점을 알게 되었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit과 ChatGPT API 연동&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 가장 흥미로웠던 부분은 Streamlit과 ChatGPT API를 연결하는 과정이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Streamlit으로 만든 대시보드에서 사용자가 버튼을 누르면 현재 화면의 데이터와 그래프 정보를 ChatGPT에게 전달하고, AI가 이를 바탕으로 요약과 인사이트를 생성하는 구조를 학습했다.&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;li&gt;개선 방향 제안&lt;/li&gt;
&lt;li&gt;보고서 자동 작성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;까지 하나의 대시보드 안에서 수행할 수 있다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;AI 기반 리포팅 자동화&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는 분석이 끝난 뒤 사람이 직접 보고서를 작성해야 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 ChatGPT API를 활용하면 데이터 분석 결과를 기반으로 초안을 자동 생성할 수 있으며, 반복적인 문서 작성 시간을 크게 줄일 수 있다.&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;KPI 변화 분석&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;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드와 생성형 AI의 결합&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 수업에서는 생성형 AI가 단순한 챗봇을 넘어 데이터 분석 도구와 결합되는 사례도 살펴보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드 안에서 AI가 시각화 결과를 해석하고 자연어로 설명해 주면 비전문가도 데이터를 이해하기 쉬워진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로는 &lt;span&gt;&lt;b&gt;데이터 시각화와 생성형 AI를 함께 활용하는 능력이 데이터 분석 분야에서 더욱 중요해질 것&lt;/b&gt;&lt;/span&gt;이라는 점을 느낄 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 ChatGPT API를 활용한 리포팅 자동화를 배우면서 AI가 단순히 질문에 답하는 도구가 아니라 &lt;span&gt;&lt;b&gt;데이터 분석 업무를 자동화하는 도구&lt;/b&gt;&lt;/span&gt;로도 활용될 수 있다는 점을 알게 되었다. 특히 Streamlit과 ChatGPT API를 연결하면 대시보드 안에서 분석 결과를 자동으로 요약하고 보고서까지 생성할 수 있다는 점이 인상적이었다. 앞으로 프로젝트에서도 시각화에 그치지 않고 AI를 활용한 자동 보고서 생성 기능까지 구현해 본다면 사용자 편의성과 활용도를 더욱 높일 수 있을 것이라는 생각이 들었다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/59</guid>
      <comments>https://min0jun.tistory.com/59#entry59comment</comments>
      <pubDate>Tue, 4 Aug 2026 20:40:42 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 48일차</title>
      <link>https://min0jun.tistory.com/58</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;span&gt;&lt;b&gt;제조 시계열 데이터에서 이상(Anomaly)을 탐지하는 방법&lt;/b&gt;&lt;/span&gt;을 학습했다. 이상탐지와 불량 분류의 차이를 이해하고, 규칙 기반(Rule-based)과 모델 기반(Model-based) 이상탐지의 특징을 비교했다. 또한 &lt;span&gt;&lt;b&gt;Isolation Forest, LOF(Local Outlier Factor), AutoEncoder&lt;/b&gt;&lt;/span&gt;의 원리와 활용 방법을 익히고, 이상 점수를 실제 알람으로 변환하기 위한 Threshold 설정과 모델 평가 방법까지 학습할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;제조 시계열에서 이상(Anomaly)이란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상탐지는 단순히 센서 값이 크거나 작은 데이터를 찾는 것이 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제조 공정에서는 &lt;span&gt;&lt;b&gt;현재 운전 조건에서 예상하기 어려운 패턴인지&lt;/b&gt;&lt;/span&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&gt;&lt;b&gt;값 자체보다 센서 간의 관계와 시간의 흐름을 함께 고려해야 판단할 수 있다&lt;/b&gt;&lt;/span&gt;는 점을 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;이상탐지와 불량 분류의 차이&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 이상탐지와 불량 분류가 같은 개념이라고 생각했지만 목적부터 달랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;불량 분류는 제품이 정상인지 불량인지를 예측하는 문제이며, 정답(Label)이 있는 데이터를 이용해 학습하는 지도학습이 주로 사용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 이상탐지는 &lt;span&gt;&lt;b&gt;평소와 다른 운전 상태를 찾는 것&lt;/b&gt;&lt;/span&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;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;규칙 기반과 모델 기반 이상탐지&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상탐지는 크게 두 가지 방식으로 나눌 수 있다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;규칙 기반(Rule-based)&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고정 Threshold&lt;/li&gt;
&lt;li&gt;Rolling Threshold&lt;/li&gt;
&lt;li&gt;SPC(관리도)&lt;/li&gt;
&lt;li&gt;Nelson Rules&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;장점은 기준이 명확하고 설명하기 쉽다는 점이다. 실제 현장에서 즉시 적용하기도 쉽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 새로운 이상 패턴이나 여러 센서의 복잡한 관계까지 반영하기는 어렵다는 한계가 있다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;모델 기반(Model-based)&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Isolation Forest&lt;/li&gt;
&lt;li&gt;LOF&lt;/li&gt;
&lt;li&gt;AutoEncoder&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;규칙을 사람이 직접 정의하지 않아도 새로운 이상 패턴을 탐지할 수 있다는 장점이 있지만, 모델 학습 데이터의 품질과 설정에 따라 결과가 크게 달라질 수 있다는 점도 함께 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;제조 시계열 데이터의 이상 유형&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상은 발생 형태에 따라 세 가지로 구분된다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Point Anomaly&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;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;온도 Spike&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Contextual Anomaly&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값 자체는 정상 범위지만 현재 운전 상황에서는 부자연스러운 경우이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 오일 온도 70℃는 장시간 운전 중이라면 정상일 수 있지만, 설비를 막 재가동한 직후라면 이상으로 판단할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 값이라도 운전 모드와 공정 단계에 따라 의미가 달라진다는 점이 인상적이었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Collective Anomaly&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 중요한 개념은 &lt;span&gt;&lt;b&gt;Collective Anomaly&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;/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;정상보다 긴 공정 Cycle이 반복되는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 &lt;span&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;이러한 이상은 한 시점만 분석해서는 찾을 수 없으며, 여러 시점을 하나의 구간(Sequence)으로 분석해야 탐지할 수 있다는 점을 이해할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Isolation Forest와 LOF&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 대표적인 Feature 기반 이상탐지 모델도 학습했다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Isolation Forest&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Isolation Forest는 &lt;span&gt;&lt;b&gt;다른 데이터보다 얼마나 쉽게 고립되는지&lt;/b&gt;&lt;/span&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;LOF(Local Outlier Factor)&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LOF는 주변 이웃과의 밀도를 비교하여 이상을 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 데이터에서 멀리 떨어져 있지 않아도 &lt;span&gt;&lt;b&gt;주변 이웃과 비교했을 때 밀도가 낮다면 이상&lt;/b&gt;&lt;/span&gt;으로 판단한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운전 모드가 여러 개 존재하는 제조 데이터에서는 각 정상 군집 내부에서 이상을 찾을 수 있기 때문에 Isolation Forest보다 유리한 경우도 있다는 점을 배웠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 모델 중 어느 것이 항상 더 좋은 것은 아니며, &lt;span&gt;&lt;b&gt;데이터의 특성과 공정 환경에 따라 적절한 모델을 선택하는 것이 중요하다.&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Sequence Window와 AutoEncoder&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 가장 중요하게 학습한 내용은 &lt;span&gt;&lt;b&gt;Sequence 기반 이상탐지&lt;/b&gt;&lt;/span&gt;였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 Feature 기반 모델은 한 시점의 데이터를 입력으로 사용하지만, AutoEncoder는 일정 시간 동안의 데이터를 하나의 Sequence로 입력받는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 10분 Window를 사용한다면&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1~10분&lt;/li&gt;
&lt;li&gt;2~11분&lt;/li&gt;
&lt;li&gt;3~12분&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 Window를 한 칸씩 이동하며 여러 개의 Sequence를 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 만들어진 Sequence에는 여러 센서의 시간 흐름이 함께 포함된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AutoEncoder는 입력 데이터를 압축한 뒤 다시 복원하는 신경망이다.&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&gt;&lt;b&gt;Reconstruction Error&lt;/b&gt;&lt;/span&gt;라고 하며, 이 값이 클수록 이상 후보일 가능성이 높다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 Reconstruction Error는 &lt;span&gt;&lt;b&gt;고장 확률이 아니라 정상 데이터와 얼마나 다른지를 나타내는 이상 점수&lt;/b&gt;&lt;/span&gt;라는 점도 함께 이해했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Threshold 설정과 모델 평가&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;Threshold는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Percentile 방식&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Threshold를 너무 낮게 설정하면 이상을 많이 찾지만 오탐(False Alarm)이 증가하고, 너무 높게 설정하면 불필요한 알람은 줄어들지만 실제 이상을 놓칠 가능성이 커진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 Precision과 Recall뿐 아니라&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;False Alarm&lt;/li&gt;
&lt;li&gt;Missed Detection&lt;/li&gt;
&lt;li&gt;Detection Delay&lt;/li&gt;
&lt;li&gt;Alarm Duration&lt;/li&gt;
&lt;/ul&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;[라이브 세션] 시계열 이상 탐지 라이브 세션 3회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 시계열 이상탐지의 전체 흐름을 이해할 수 있었던 시간이었다. 이전에는 이상탐지가 단순히 기준값을 벗어난 데이터를 찾는 것이라고 생각했지만, 실제 제조 현장에서는 &lt;span&gt;&lt;b&gt;시간의 흐름과 센서 간의 관계를 함께 분석하는 것이 훨씬 중요하다&lt;/b&gt;&lt;/span&gt;는 점을 알게 되었다. 특히 Feature 기반 모델과 Sequence 기반 모델의 차이를 비교하면서 왜 AutoEncoder가 여러 시점의 데이터를 하나의 Sequence로 학습하는지 이해할 수 있었고, Reconstruction Error 역시 고장 여부가 아닌 &lt;span&gt;&lt;b&gt;정상 패턴과의 차이를 나타내는 지표&lt;/b&gt;&lt;/span&gt;라는 점이 인상 깊었다. 앞으로 실습에서는 모델의 성능만 비교하기보다 Threshold 설정과 오탐&amp;middot;미탐까지 함께 고려하면서 실제 현장에서 활용 가능한 이상탐지 모델을 구현해 보고 싶다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/58</guid>
      <comments>https://min0jun.tistory.com/58#entry58comment</comments>
      <pubDate>Wed, 29 Jul 2026 20:39:01 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 47일차</title>
      <link>https://min0jun.tistory.com/57</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;span&gt;&lt;b&gt;시계열(Time Series) 데이터의 특징과 제조 데이터 분석 방법&lt;/b&gt;&lt;/span&gt;을 학습했다. 일반적인 표(Tabular) 데이터와 시계열 데이터의 차이를 이해하고, 제조 공정에서 시간의 흐름을 어떻게 분석해야 하는지 배웠다. 이어서 예측 모델을 만들기 위한 &lt;span&gt;&lt;b&gt;Feature Engineering(Lag, Difference, Rolling Feature)&lt;/b&gt;&lt;/span&gt; 과 시계열 데이터의 학습 및 평가 방법까지 실습하며 머신러닝 모델을 위한 데이터 준비 과정을 익혔다. &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;스마트팩토리와 시계열 데이터의 특징&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트팩토리에서는 단순히 센서값만 분석하는 것이 아니라 &lt;span&gt;&lt;b&gt;설비 상태, 운전 모드, 정비 이력, LOT, Recipe, 품질 정보&lt;/b&gt;&lt;/span&gt;까지 함께 고려해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 머신러닝에서 주로 다뤘던 표 데이터는 여러 대상의 특성을 비교하는 것이 목적이지만, 시계열 데이터는 &lt;span&gt;&lt;b&gt;동일한 설비가 시간에 따라 어떻게 변화하는지&lt;/b&gt;&lt;/span&gt;를 분석하는 것이 핵심이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 현재 온도가 83℃라는 값 자체보다,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근 5분 동안 계속 상승했는지&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;span&gt;&lt;b&gt;변화의 흐름&lt;/b&gt;&lt;/span&gt;이 훨씬 중요한 정보가 된다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 1회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;시계열 데이터의 주요 패턴&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Trend(추세)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 장기적인 증가 또는 감소&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Seasonality(계절성)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 일정한 주기로 반복되는 패턴&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Cycle(주기)&lt;/b&gt;&lt;/span&gt; : 반복되지만 간격이 일정하지 않은 변화&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Residual(잔차)&lt;/b&gt;&lt;/span&gt; : 위 패턴으로 설명되지 않는 나머지 변화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 제조 센서는 물리적인 특성 때문에 &lt;span&gt;&lt;b&gt;자기상관(Autocorrelation)&lt;/b&gt;&lt;/span&gt; 이 존재한다는 점도 배웠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 압력이 10초 전에 높았다면 현재도 높을 가능성이 크며, 모터 전류가 먼저 증가한 뒤 오일 온도가 천천히 따라 상승하는 것처럼 센서마다 반응 속도가 다르다는 점이 인상적이었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 1회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;제조 시계열 데이터 품질 관리&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Sampling Interval 확인&lt;/li&gt;
&lt;li&gt;Timestamp 중복&lt;/li&gt;
&lt;li&gt;수집 공백(Gap)&lt;/li&gt;
&lt;li&gt;결측값&lt;/li&gt;
&lt;li&gt;Sensor Stuck&lt;/li&gt;
&lt;li&gt;Sensor Drift&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;span&gt;&lt;b&gt;수집 공백이 있다고 무조건 보간(Interpolation)하면 안 된다&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&gt;&lt;b&gt;공백의 원인과 운전 상태를 먼저 확인한 후 처리해야 한다&lt;/b&gt;&lt;/span&gt;는 점을 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 1회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;SPC와 Nelson Rules&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 학습했던 SPC도 시계열 분석과 연결되는 개념이라는 점을 알게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SPC는 공정의 평균과 변동을 관리하는 방법이고, 시계열 분석은 시간의 흐름을 이용해 변화의 방향과 이상 징후를 더 자세하게 분석한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 &lt;span&gt;&lt;b&gt;Nelson Rules&lt;/b&gt;&lt;/span&gt;를 통해 관리한계 안에 있어도 비정상적인 패턴을 발견할 수 있다는 점도 학습했다.&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;3&amp;sigma;를 벗어난 점&lt;/li&gt;
&lt;li&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;하지만 Nelson Rules는 &lt;span&gt;&lt;b&gt;고장을 확정하는 기준이 아니라 조사할 가치가 있는 이상 패턴을 찾는 규칙&lt;/b&gt;&lt;/span&gt;이라는 점도 함께 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 1회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;시계열 Feature Engineering&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 세션에서는 예측 모델을 만들기 위해 필요한 &lt;span&gt;&lt;b&gt;Feature Engineering&lt;/b&gt;&lt;/span&gt;을 집중적으로 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시계열 데이터에서는 현재값만으로는 시간의 흐름을 표현할 수 없기 때문에 다양한 Feature를 만들어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적으로 다음 Feature를 사용한다.&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&gt;&lt;b&gt;Lag&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 과거 값&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Difference&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 이전 시점과의 변화량&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Rolling Mean&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 최근 평균&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Rolling Std&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 최근 변동성&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Rolling Range&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 최근 최대값과 최소값의 차이&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 Feature를 통해 사람이 그래프를 보며 판단하는 정보를 머신러닝 모델도 학습할 수 있게 된다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 2회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Lag와 Difference의 차이&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 Lag와 Difference가 비슷한 개념이라고 생각했지만 실제 의미는 달랐다.&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&gt;&lt;b&gt;Lag&lt;/b&gt;&lt;/span&gt;는 과거 값을 그대로 가져오는 Feature이다.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Difference&lt;/b&gt;&lt;/span&gt;는 과거 대비 얼마나 변했는지를 나타내는 Feature이다.&lt;/li&gt;
&lt;/ul&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;TP3_lag_5 &amp;rarr; 5분 전 압력&lt;/li&gt;
&lt;li&gt;TP3_diff_5 &amp;rarr; 최근 5분 동안 압력이 얼마나 변했는지&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;Difference만 사용하면 현재 압력 수준을 알 수 없기 때문에 실제 모델에서는 &lt;span&gt;&lt;b&gt;현재값 + Lag + Difference를 함께 사용하는 것이 일반적&lt;/b&gt;&lt;/span&gt;이라는 점을 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 2회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Rolling Feature&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Rolling Feature는 최근 일정 시간 동안의 통계 정보를 계산하는 방법이다.&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;Rolling Mean&lt;/li&gt;
&lt;li&gt;Rolling Standard Deviation&lt;/li&gt;
&lt;li&gt;Rolling Range&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;특히 Rolling Std는 최근 압력이 얼마나 흔들렸는지를 나타내므로 &lt;span&gt;&lt;b&gt;공정의 불안정성&lt;/b&gt;&lt;/span&gt;을 표현하는 중요한 Feature가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 Window를 너무 짧게 설정하면 노이즈에 민감해지고, 너무 길게 설정하면 최근 변화가 희석될 수 있으므로 설비 특성에 맞게 선택해야 한다는 점도 이해할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 2회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;시계열 데이터의 Train/Test 분리&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 머신러닝에서는 데이터를 무작위(Random)로 나누는 경우가 많았지만, 시계열 데이터는 반드시 &lt;span&gt;&lt;b&gt;시간 순서&lt;/b&gt;&lt;/span&gt;를 유지해야 한다.&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;과거 80% &amp;rarr; Train&lt;/li&gt;
&lt;li&gt;최근 20% &amp;rarr; Test&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;또한 Forecast Horizon이 Train과 Test 경계를 넘어가지 않도록 &lt;span&gt;&lt;b&gt;Gap(Embargo)&lt;/b&gt;&lt;/span&gt; 구간을 두는 방법과, 실제 프로젝트에서 자주 사용하는 &lt;span&gt;&lt;b&gt;Walk-forward Validation&lt;/b&gt;&lt;/span&gt;도 함께 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 복잡한 모델을 적용하기 전에 &lt;span&gt;&lt;b&gt;Naive Forecast&lt;/b&gt;&lt;/span&gt;를 Baseline으로 사용하고 MAE, RMSE 등을 이용해 성능을 평가하는 과정도 익혔다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] 시계열 이상 탐지 라이브 세션 2회차 [손보미 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 시계열 데이터를 처음부터 어떻게 이해하고 모델링까지 연결하는지를 전체 흐름으로 학습할 수 있었다. 이전에는 단순히 센서값만 활용하면 된다고 생각했지만, 실제 제조 데이터에서는 시간의 흐름과 운전 상태, 센서 간 반응 순서를 함께 고려해야 한다는 점이 중요하다는 것을 알게 되었다. 특히 Lag, Difference, Rolling Feature가 각각 어떤 의미를 가지는지 이해하면서 Feature Engineering이 단순히 컬럼을 많이 만드는 작업이 아니라 &lt;span&gt;&lt;b&gt;공정의 시간적 특성을 모델이 이해할 수 있도록 표현하는 과정&lt;/b&gt;&lt;/span&gt;이라는 점이 인상 깊었다. 앞으로 시계열 프로젝트를 진행할 때도 데이터 전처리와 Feature Engineering 과정을 먼저 충분히 설계한 뒤 모델을 적용하는 습관을 가져야겠다고 느꼈다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/57</guid>
      <comments>https://min0jun.tistory.com/57#entry57comment</comments>
      <pubDate>Tue, 28 Jul 2026 19:00:46 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 46일차</title>
      <link>https://min0jun.tistory.com/56</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau 개인 과제 - 제조 공정 KPI 대시보드 구현&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau 개인 과제를 진행하며 &lt;span&gt;&lt;b&gt;제조 공정 KPI를 계산하고 대시보드를 구현하는 과정&lt;/b&gt;&lt;/span&gt;을 실습했다. 단순히 차트를 만드는 것에 그치지 않고 LOD 표현식과 집계 함수, 계산 필드를 활용하여 실제 제조 현장에서 사용할 수 있는 KPI를 직접 구현해 보았다. 또한 간트 차트 제작 과정에서 발생한 오류를 해결하고, 대시보드의 가독성을 높이기 위한 서식 설정까지 함께 학습했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;KPI 계산 필드 만들기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 과제에서는 제조 공정을 분석하기 위한 다양한 KPI를 직접 계산했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 &lt;span&gt;&lt;b&gt;목표 초과 수량&lt;/b&gt;&lt;/span&gt;을 계산했다. 단순히 생산 수량에서 목표 수량을 빼는 방식이 아니라 &lt;span&gt;&lt;b&gt;LOD(Level of Detail) 표현식&lt;/b&gt;&lt;/span&gt;을 이용해 부품별 기준값을 먼저 계산한 뒤 초과 수량을 구하는 방식으로 구현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 과정에서 가장 많이 발생했던 오류는 &lt;span&gt;&lt;b&gt;집계(Aggregate)와 비집계(Non-Aggregate)를 함께 사용할 때 발생하는 오류&lt;/b&gt;&lt;/span&gt;였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 계산식 안에서 집계 함수와 일반 필드를 함께 사용해 오류가 발생했지만, LOD 내부와 외부에서 사용하는 집계 방식을 동일하게 맞추면서 문제를 해결할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 실습을 통해 Tableau에서는 계산식 자체보다 &lt;span&gt;&lt;b&gt;집계 기준을 일관성 있게 유지하는 것&lt;/b&gt;&lt;/span&gt;이 매우 중요하다는 점을 배울 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;총수익, 변동비용, 공헌이익 계산&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 제조 공정의 수익성을 확인하기 위한 KPI도 구현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;총수익은 &lt;span&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공헌이익은 단순히 수익에서 비용을 빼는 것이 아니라 &lt;span&gt;&lt;b&gt;생산 부품 수량으로 나누어 부품당 수익성을 확인할 수 있도록 계산&lt;/b&gt;&lt;/span&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;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;업무 효율성 계산&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무 효율성을 계산하기 위해서는 먼저 &lt;span&gt;&lt;b&gt;장비별 하루 총 업무 시간&lt;/b&gt;&lt;/span&gt;을 계산해야 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 위해 FIXED LOD 표현식을 활용하여 장비번호별 가장 빠른 작업 시작 시간과 가장 늦은 작업 종료 시간을 구한 뒤, 두 시간의 차이를 일일 총 업무 시간으로 계산했다.&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&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;간트 차트 구현 과정&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 과제에서 가장 오래 고민했던 부분은 &lt;span&gt;&lt;b&gt;간트 차트(Gantt Chart)&lt;/b&gt;&lt;/span&gt; 를 구현하는 과정이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 작업 시간을 계산하기 위해 DATEDIFF() 함수를 사용했다.&lt;/p&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;DATEDIFF('minute', [작업 시작 시간], [작업 종료 시간])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계산식은 정상적으로 동작했지만 작업 시간을 &lt;span&gt;&lt;b&gt;크기(Size)&lt;/b&gt;&lt;/span&gt; 에 배치하면 원하는 간트 차트가 아니라 일반 막대그래프로 표시되는 문제가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 계산식이 잘못되었다고 생각해 여러 번 수정했지만, 원인은 계산식이 아니라 &lt;span&gt;&lt;b&gt;간트 차트에서 사용하는 데이터 형태&lt;/b&gt;&lt;/span&gt;에 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 방법을 시도한 끝에 작업 시간을 다음과 같이 &lt;span&gt;&lt;b&gt;시간 차이(Duration)&lt;/b&gt;&lt;/span&gt; 로 직접 계산하도록 변경했다.&lt;/p&gt;
&lt;pre class=&quot;scheme&quot;&gt;&lt;code&gt;([작업 종료 시간] - [작업 시작 시간])&lt;/code&gt;&lt;/pre&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;li&gt;마크 : Gantt Bar&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 실습을 통해 Tableau에서는 &lt;span&gt;&lt;b&gt;같은 값을 계산하더라도 어떤 데이터 타입으로 반환되는지가 차트 결과에 큰 영향을 준다&lt;/b&gt;&lt;/span&gt;는 점을 직접 경험할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;시간 축과 서식 수정&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;span&gt;&lt;b&gt;축 서식을 변경하여 1시간 단위로 표시&lt;/b&gt;&lt;/span&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&gt;&lt;b&gt;전체 보기(Fit Entire View)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 와 &lt;/span&gt;&lt;span&gt;&lt;b&gt;너비 맞춤(Fit Width)&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&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau_작업_정리.txt&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau에서 KPI 계산과 대시보드 제작을 진행하면서 계산식보다 &lt;span&gt;&lt;b&gt;데이터를 어떻게 집계하고 어떤 형태로 시각화할 것인지&lt;/b&gt;&lt;/span&gt;가 더 중요하다는 점을 배울 수 있었다. 특히 간트 차트를 구현하는 과정에서는 계산식이 맞는데도 원하는 결과가 나오지 않아 여러 방법을 시도했는데, 데이터 타입과 차트 설정을 함께 수정하니 문제를 해결할 수 있었다. 또한 LOD 표현식을 활용하면서 집계와 비집계의 차이를 조금 더 이해할 수 있었고, 실제 제조 공정 데이터를 분석할 때도 이러한 계산 방식이 많이 활용될 것이라는 생각이 들었다. 앞으로는 계산식을 외우기보다 &lt;span&gt;&lt;b&gt;왜 이런 계산을 하는지, 어떤 차트에 어떤 데이터 형태가 적합한지&lt;/b&gt;&lt;/span&gt;를 함께 이해하면서 실습을 이어가야겠다는 목표가 생겼다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/56</guid>
      <comments>https://min0jun.tistory.com/56#entry56comment</comments>
      <pubDate>Mon, 27 Jul 2026 18:22:40 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 45일차</title>
      <link>https://min0jun.tistory.com/55</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit으로 데이터 대시보드 만들기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;span&gt;&lt;b&gt;Streamlit을 활용한 데이터 대시보드 개발&lt;/b&gt;&lt;/span&gt;&lt;span&gt;을 학습했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 대시보드가 왜 필요한지와 좋은 대시보드의 조건을 이해하고, 제조업에서 자주 사용하는 KPI를 살펴봤다. 이후 Streamlit의 설치 방법부터 텍스트 출력, 입력 위젯, 그래프 시각화까지 웹 기반 데이터 대시보드를 만드는 기본 기능을 익혔다. &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드란 무엇인가?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드는 여러 데이터를 하나의 화면에서 시각적으로 보여주어 &lt;span&gt;&lt;b&gt;업무 효율과 의사결정 속도를 높여주는 도구&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좋은 대시보드는 단순히 예쁜 화면을 만드는 것이 아니라, 사용자가 필요한 정보를 빠르게 확인하고 바로 행동(Action)으로 이어질 수 있도록 설계되어야 한다.&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;너무 많은 KPI&lt;/li&gt;
&lt;li&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;/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;li&gt;어떤 KPI가 필요한지&lt;/li&gt;
&lt;li&gt;어떤 방식으로 비교할 것인지&lt;/li&gt;
&lt;/ul&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;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 1회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;제조업에서 자주 사용하는 KPI&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제조업 대시보드에서는 단순 생산량보다 &lt;span&gt;&lt;b&gt;공정을 평가할 수 있는 핵심 지표(KPI)&lt;/b&gt;&lt;/span&gt; 가 중요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 학습한 대표적인 KPI는 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비가동률(Downtime)&lt;/li&gt;
&lt;li&gt;가동률(Uptime)&lt;/li&gt;
&lt;li&gt;초기 합격률(FPY)&lt;/li&gt;
&lt;li&gt;불량률(Defect Rate)&lt;/li&gt;
&lt;li&gt;스크랩률(Scrap Rate)&lt;/li&gt;
&lt;li&gt;생산 처리량(Throughput)&lt;/li&gt;
&lt;li&gt;사이클 타임(Cycle Time)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 KPI는 생산 효율과 품질을 수치로 나타내며, 문제 발생 원인을 빠르게 파악하는 기준이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 실제 제조업 대시보드 사례를 통해 KPI 카드, 운영 이벤트, 비가동 원인 분석 등을 함께 구성하면 공정 상태를 한눈에 확인할 수 있다는 점도 이해할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 1회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit이란?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Streamlit은 &lt;span&gt;&lt;b&gt;Python만으로 웹 기반 데이터 애플리케이션을 만들 수 있는 오픈소스 프레임워크&lt;/b&gt;&lt;/span&gt;&lt;span&gt;이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 개발 지식이 없어도 Python 코드만으로&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;머신러닝 결과&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;특히&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;Matplotlib, Plotly 등과 높은 호환성&lt;/li&gt;
&lt;li&gt;Streamlit Cloud를 통한 쉬운 배포&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;또한 Tableau가 BI 중심의 시각화 도구라면, Streamlit은 Python 코드와 머신러닝 모델까지 하나의 웹앱으로 구현할 수 있다는 차이점도 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 1회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit 설치와 기본 실행&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Streamlit은 Python 패키지이므로 pip를 이용해 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지는 관련된 코드들을 하나로 묶어 관리하는 형태이며, 필요한 기능을 쉽게 가져와 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VS Code에서는 터미널을 CMD 환경으로 설정한 후 Streamlit을 설치하고 실행하는 과정을 실습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 앞으로 작성한 Python 코드를 웹 형태로 실행할 수 있는 환경을 구성했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 1회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit 주요 함수&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Streamlit에서 가장 자주 사용하는 함수들도 함께 학습했다.&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;st.title()&lt;/li&gt;
&lt;li&gt;st.header()&lt;/li&gt;
&lt;li&gt;st.subheader()&lt;/li&gt;
&lt;li&gt;st.markdown()&lt;/li&gt;
&lt;li&gt;st.caption()&lt;/li&gt;
&lt;li&gt;st.text()&lt;/li&gt;
&lt;li&gt;st.write()&lt;/li&gt;
&lt;/ul&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;st.code()&lt;/li&gt;
&lt;li&gt;st.latex()&lt;/li&gt;
&lt;/ul&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;st.text_input()&lt;/li&gt;
&lt;li&gt;st.text_area()&lt;/li&gt;
&lt;li&gt;st.number_input()&lt;/li&gt;
&lt;li&gt;st.date_input()&lt;/li&gt;
&lt;li&gt;st.selectbox()&lt;/li&gt;
&lt;li&gt;st.multiselect()&lt;/li&gt;
&lt;li&gt;st.radio()&lt;/li&gt;
&lt;li&gt;st.file_uploader()&lt;/li&gt;
&lt;li&gt;st.button()&lt;/li&gt;
&lt;li&gt;st.slider()&lt;/li&gt;
&lt;/ul&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;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 2회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Streamlit에서 그래프 시각화&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Streamlit은 기본 차트를 매우 간단하게 그릴 수 있다.&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;st.line_chart()&lt;/li&gt;
&lt;li&gt;st.bar_chart()&lt;/li&gt;
&lt;li&gt;st.area_chart()&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;또한 더 다양한 시각화를 위해 Matplotlib와 Plotly도 함께 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Matplotlib에서는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pyplot 인터페이스&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;마지막으로&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;st.pyplot()&lt;/li&gt;
&lt;li&gt;st.plotly_chart()&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수를 이용하면 Matplotlib와 Plotly에서 만든 그래프를 Streamlit 화면에 그대로 출력할 수 있다는 점을 배웠다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[라이브 세션] Streamlit과 함께, 대시보드 완전 정복 라이브 세션 2회차 [박영선 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau처럼 시각화를 만드는 것에서 한 단계 더 나아가 &lt;span&gt;&lt;b&gt;Python으로 직접 웹 기반 대시보드를 구현하는 방법&lt;/b&gt;&lt;/span&gt;을 배울 수 있었다. 특히 Streamlit은 복잡한 웹 개발 없이도 Python 코드만으로 인터랙티브한 화면을 만들 수 있다는 점이 인상적이었다. 앞으로 최종 프로젝트에서는 단순히 분석 결과를 보여주는 데 그치지 않고, 사용자가 직접 데이터를 선택하고 탐색할 수 있는 대시보드를 구현해 보면 훨씬 완성도 높은 결과물을 만들 수 있을 것 같다는 생각이 들었다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/55</guid>
      <comments>https://min0jun.tistory.com/55#entry55comment</comments>
      <pubDate>Fri, 24 Jul 2026 19:31:44 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 44일차</title>
      <link>https://min0jun.tistory.com/54</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau 개인 과제 - 제조 공정 KPI 대시보드 제작&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau 개인 과제를 통해 &lt;span&gt;&lt;b&gt;제조 공정 데이터를 하나의 대시보드로 통합하여 KPI를 시각화하고, 센서 데이터를 활용한 공정 모니터링 화면을 구현하는 방법&lt;/b&gt;&lt;/span&gt;을 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기계 가동 데이터와 센서 데이터를 하나의 데이터 원본으로 연결하고, KPI 계산식 작성부터 관리도(Control Chart), 대시보드 동작(Action)까지 실제 제조 현장에서 활용할 수 있는 대시보드를 제작하는 것이 이번 과제의 목표였다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau Prep을 활용한 데이터 전처리&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;span&gt;&lt;b&gt;Hours of Machine Data&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 장비별 생산 정보&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Sensor Data&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 센서 시계열 데이터&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sensor Data는 Variable과 Value 형태의 세로 구조였기 때문에 Tableau Prep에서 &lt;span&gt;&lt;b&gt;행을 열(Pivot)&lt;/b&gt;&lt;/span&gt; 형태로 변환한 후 Tableau에서 사용할 수 있도록 전처리했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 두 데이터를 &lt;span&gt;&lt;b&gt;장비번호(EQP)&lt;/b&gt;&lt;/span&gt; 를 기준으로 관계(Relationship)로 연결하여 하나의 데이터 원본처럼 사용할 수 있도록 구성했다. 또한 Timestamp 필드는 문자열이므로 날짜 및 시간 타입으로 변환한 뒤 분석을 진행했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;제조 공정 KPI 계산&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드 상단에는 제조 현장을 한눈에 파악할 수 있는 KPI를 배치했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 과제에서 구현한 KPI는 다음과 같다.&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;평균 RPM&lt;/li&gt;
&lt;li&gt;목표 초과 생산수량&lt;/li&gt;
&lt;li&gt;총 수익&lt;/li&gt;
&lt;li&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;span&gt;&lt;b&gt;목표 초과 생산수량&lt;/b&gt;&lt;/span&gt;은 단순 합계가 아니라 부품별 최소 목표 생산량을 기준으로 계산해야 했기 때문에 &lt;span&gt;&lt;b&gt;FIXED LOD&lt;/b&gt;&lt;/span&gt;와 &lt;span&gt;&lt;b&gt;MIN&lt;/b&gt;&lt;/span&gt; 함수를 함께 활용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 &lt;span&gt;&lt;b&gt;업무 효율성&lt;/b&gt;&lt;/span&gt;은 생산시간 합계를 장비별 실제 업무시간으로 나누어 계산했으며, 작업 시작과 종료 시간의 차이를 계산하기 위해 &lt;span&gt;&lt;b&gt;DATEDIFF&lt;/b&gt;&lt;/span&gt; 함수도 사용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 과제를 통해 단순 합계와 평균을 구하는 것을 넘어 &lt;span&gt;&lt;b&gt;LOD 표현식을 이용한 그룹 단위 계산&lt;/b&gt;&lt;/span&gt;과 여러 함수를 조합하는 방법을 익힐 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;센서 데이터 관리도(Control Chart) 구현&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;센서 데이터는 초 단위와 밀리초 단위 두 가지 형태로 시각화했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Timestamp를 날짜 형식으로 변환한 후 다음과 같은 사용자 지정 서식을 적용하여 &lt;span&gt;&lt;b&gt;밀리초까지 표시&lt;/b&gt;&lt;/span&gt;했다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;yyyy-MM-dd HH:mm:ss.SSS&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라인차트는 Timestamp를 연속형 초 단위로 배치하고 Result 평균을 이중축(Dual Axis)으로 표현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나는 라인, 다른 하나는 원으로 표시하여 데이터 흐름과 각 측정값을 동시에 확인할 수 있도록 구성했다. 또한 축의 &lt;span&gt;&lt;b&gt;0 포함을 해제&lt;/b&gt;&lt;/span&gt;하여 실제 센서 변화가 더욱 명확하게 보이도록 설정했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;UCL과 LCL을 활용한 이상치 표시&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공정 품질을 확인하기 위해 관리 상한선(UCL)과 관리 하한선(LCL)을 매개변수(Parameter)로 생성했다.&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;span&gt;UCL : &lt;/span&gt;&lt;span&gt;&lt;b&gt;95.3&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LCL : &lt;/span&gt;&lt;span&gt;&lt;b&gt;94.7&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값을 기준으로 참조 구간(Reference Band)을 만들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 계산식을 이용하여 관리 범위 안에 있는 데이터는 &lt;span&gt;&lt;b&gt;파란색&lt;/b&gt;&lt;/span&gt;, 관리 범위를 벗어난 데이터는 &lt;span&gt;&lt;b&gt;빨간색&lt;/b&gt;&lt;/span&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&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 동작(Action) 구현&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 과제의 핵심은 단순히 여러 그래프를 배치하는 것이 아니라 &lt;span&gt;&lt;b&gt;그래프끼리 연결되는 대시보드&lt;/b&gt;&lt;/span&gt;를 만드는 것이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초 단위 그래프에서 특정 시점을 클릭하면 밀리초 단위 그래프가 해당 구간만 표시되도록 &lt;span&gt;&lt;b&gt;필터 동작(Action Filter)&lt;/b&gt;&lt;/span&gt; 을 적용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 선택을 해제했을 때는 모든 데이터가 다시 표시되는 것이 아니라 &lt;span&gt;&lt;b&gt;모든 값 제외(Exclude All Values)&lt;/b&gt;&lt;/span&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;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 구성 및 마무리&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종 대시보드는 1400&amp;times;800 크기로 제작했으며, KPI 카드와 초&amp;middot;밀리초 추세 그래프를 균형 있게 배치했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 장비번호와 작업자 이름을 이용한 &lt;span&gt;&lt;b&gt;전역 필터(Global Filter)&lt;/b&gt;&lt;/span&gt; 도 구현하여 하나의 필터가 모든 시각화에 동시에 적용되도록 구성했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에는 사용하지 않는 워크시트를 숨기고 Tableau Cloud에 게시하여 실제 공유 가능한 형태의 대시보드까지 완성했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 개인 과제 발제 [허진성 튜터님] _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau에서 데이터를 시각화하는 수준을 넘어 &lt;span&gt;&lt;b&gt;실제 제조 현장에서 활용할 수 있는 공정 모니터링 대시보드&lt;/b&gt;&lt;/span&gt;를 직접 구현해 볼 수 있었다. KPI 계산에서는 FIXED와 DATEDIFF 같은 함수를 활용하며 계산식 작성 능력을 키울 수 있었고, 관리도와 참조 구간을 이용해 공정 이상을 직관적으로 표현하는 방법도 익혔다. 특히 대시보드 동작(Action)을 통해 하나의 그래프를 선택하면 다른 그래프가 함께 변경되는 구조를 구현하면서, 사용자가 원하는 정보를 빠르게 탐색할 수 있는 인터랙티브 대시보드의 중요성을 체감할 수 있었다. 앞으로는 단순히 보기 좋은 시각화보다 &lt;span&gt;&lt;b&gt;데이터를 빠르게 분석하고 의사결정을 지원하는 대시보드&lt;/b&gt;&lt;/span&gt;를 만드는 방향으로 계속 연습해 보고 싶다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/54</guid>
      <comments>https://min0jun.tistory.com/54#entry54comment</comments>
      <pubDate>Thu, 23 Jul 2026 20:35:17 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 43일차</title>
      <link>https://min0jun.tistory.com/53</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau를 활용한 공정&amp;middot;부품&amp;middot;센서 모니터링 대시보드 실습&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau 미니 과제를 통해 &lt;span&gt;&lt;b&gt;제조&amp;middot;품질 데이터를 실제 설비나 제품 이미지 위에 표현하는 방법&lt;/b&gt;&lt;/span&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&gt;&lt;b&gt;현장의 구조와 데이터의 위치를 연결하여 직관적인 모니터링 대시보드를 만드는 과정&lt;/b&gt;&lt;/span&gt;을 배울 수 있었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;공정 흐름도에 장비 상태 표시하기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 실습에서는 공정 흐름도 이미지 위에 각 장비의 상태를 표시하는 대시보드를 만들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 Tableau 지도는 위도와 경도를 사용하지만, 이번 실습에서는 공정도 이미지의 픽셀 좌표를 이용했다. 그림판에서 장비가 위치한 지점의 가로&amp;middot;세로 픽셀 값을 확인하고, 장비 코드와 함께 X&amp;middot;Y 좌표 데이터로 정리했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 특정 장비의 위치가 가로 397px, 세로 277px이라면 해당 값을 장비 코드와 함께 좌표 파일에 저장한다. 이렇게 만든 좌표 데이터와 장비별 생산성, 안정성, 온도, 종합 점수가 기록된 데이터를 연결하면 실제 공정도 위에 장비 상태를 표현할 수 있다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 2일차 _ Notion.pdf&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;관계를 이용한 데이터 연결&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장비 지표 데이터와 좌표 데이터는 서로 다른 파일로 관리되기 때문에 공통 필드를 기준으로 연결해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 실습에서는 장비 지표 데이터의 &lt;span&gt;&lt;b&gt;Equipment&lt;/b&gt;&lt;/span&gt; 필드와 좌표 데이터의 &lt;span&gt;&lt;b&gt;EQP&lt;/b&gt;&lt;/span&gt; 필드를 관계로 연결했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관계는 두 테이블을 바로 하나로 합치는 방식이 아니라, 시각화에 필요한 필드를 사용할 때 Tableau가 적절하게 데이터를 결합하는 방식이다. 따라서 좌표 데이터와 장비별 측정값처럼 서로 다른 성격의 테이블을 연결할 때 유용하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관계를 만들 때는 필드명이 같아야 하는 것이 아니라 &lt;span&gt;&lt;b&gt;두 필드가 같은 의미와 값을 가지고 있는지&lt;/b&gt;&lt;/span&gt;가 중요하다. 연결 기준을 잘못 설정하면 장비 위치와 지표가 서로 맞지 않거나 Null이 발생할 수 있다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;배경 이미지와 좌표 맞추기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공정 흐름도는 Tableau의 배경 이미지 기능을 이용해 불러왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지의 실제 크기가 1300&amp;times;861px이므로 X축의 범위를 0에서 1300, Y축의 범위를 0에서 861로 설정했다. 이후 X 필드를 열에, Y 필드를 행에 배치하고 장비 코드인 EQP를 세부 정보에 넣으면 이미지 위에 장비 위치가 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 좌표는 왼쪽 위를 기준으로 Y값이 아래쪽으로 증가하지만, 일반적인 그래프는 아래에서 위로 Y값이 증가한다. 이 차이 때문에 처음에는 공정도가 상하 반전된 것처럼 보였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우 &lt;span&gt;&lt;b&gt;Y축 편집에서 반전을 활성화&lt;/b&gt;&lt;/span&gt;하면 이미지와 좌표가 올바른 위치에 맞춰진다. 축의 머리글을 숨기고 화면 크기를 조정하면 일반 그래프가 아니라 실제 공정 모니터링 화면처럼 표현할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 2일차 _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;계산식을 이용한 불량 장비 구분&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공정 흐름도에서는 장비별 평균 Total 값이 90 이상인지에 따라 정상과 불량을 구분했다.&lt;/p&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;AVG([Total]) &amp;gt;= 90&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 계산식은 조건을 만족하면 참, 만족하지 않으면 거짓을 반환하는 Boolean 계산식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계산 결과를 마크의 색상에 넣고, 평균이 90 이상인 장비는 초록색, 90 미만인 장비는 빨간색으로 지정했다. 이를 통해 공정 흐름만 보는 것이 아니라 &lt;span&gt;&lt;b&gt;문제가 발생한 장비의 위치를 즉시 확인할 수 있는 화면&lt;/b&gt;&lt;/span&gt;을 만들 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드에는 필터 동작도 추가했다. 공정도에서 특정 장비를 클릭하면 생산성, 안정성, 온도 등의 하단 그래프가 선택한 장비 데이터로 변경되도록 설정했다. 사용자가 아무 장비도 선택하지 않았을 때는 전체 데이터가 다시 보이도록 모든 값 표시를 적용했다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;자동차 부품별 고장 빈도 시각화&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 실습에서는 자동차 이미지 위에 부품별 고장 발생 빈도를 표시했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동차 부품의 경계는 하나의 좌표만으로 표현할 수 없기 때문에 각 부품의 외곽선을 구성하는 여러 X&amp;middot;Y 좌표와 좌표 순서를 나타내는 Point ID가 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부품별 불량 데이터와 좌표 데이터는 공통 필드인 &lt;span&gt;&lt;b&gt;Part Name&lt;/b&gt;&lt;/span&gt;으로 관계를 생성했다. 이후 X를 열, Y를 행에 배치하고 마크 유형을 다각형으로 변경했다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Part Name: 세부 정보&lt;/li&gt;
&lt;li&gt;Point ID: 경로&lt;/li&gt;
&lt;li&gt;고장 발생 건수: 색상&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다각형에서 경로는 좌표를 어떤 순서로 연결할지를 결정한다. Point ID가 측정값으로 설정되어 합계 처리되면 좌표 순서가 무너져 이상한 모양이 만들어진다. 따라서 Point ID를 차원으로 변경해야 부품의 외곽선이 정상적으로 그려진다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 3일차 _ Notion.pdf&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;고장 빈도에 따른 색상 표현&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부품별 고장 발생 건수를 색상에 적용하여 고장이 많이 발생한 부분은 진한색, 적게 발생한 부분은 연한색으로 표현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동차 이미지와 다각형을 겹쳐 표시하니 단순한 부품별 고장 건수 표보다 &lt;span&gt;&lt;b&gt;어느 위치에서 문제가 집중되는지 훨씬 빠르게 파악&lt;/b&gt;&lt;/span&gt;할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 불량만 분석하기 위해 Is Fault 필드에서 값이 1인 데이터만 선택했다. 이 필터는 다른 날짜 필터보다 먼저 적용되어야 하므로 컨텍스트 필터로 설정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨텍스트 필터를 적용하면 먼저 실제 불량 데이터만 남긴 뒤, 그 결과를 기준으로 월별 필터와 다른 계산이 진행된다. 필터 순서에 따라 결과가 달라질 수 있기 때문에 단순히 필터를 추가하는 것보다 &lt;span&gt;&lt;b&gt;어떤 필터를 우선 적용할지 정하는 과정&lt;/b&gt;&lt;/span&gt;이 중요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 Created Date를 월 단위 필터로 만들고 같은 데이터 원본을 사용하는 전체 워크시트에 적용했다. 이를 통해 자동차 부품 시각화와 불량 추이 그래프가 같은 기간을 기준으로 함께 변경되도록 구성했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 3일차 _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;밀리초 단위 센서 데이터 시각화&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세 번째 실습에서는 공정에서 밀리초 단위로 발생하는 센서 데이터를 시각화했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 문자열로 저장된 Timestamp 필드를 날짜 및 시간 형식으로 변경했다. 이후 사용자 지정 날짜 형식을 적용하여 밀리초까지 표시했다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;yyyy-MM-dd HH:mm:ss.000&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;따라서 대시보드에서는 먼저 초 단위 추세를 확인하고, 특정 구간을 선택하면 해당 초의 밀리초 데이터를 아래 그래프에서 상세하게 확인하는 구조로 만들었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 4일차 _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;이중축과 축 동기화&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;센서 그래프는 같은 Result 필드를 두 번 사용하여 이중축으로 만들었다.&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;span&gt;&lt;b&gt;이중축을 사용할 때는 축 동기화 여부를 반드시 확인해야 한다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;UCL과 LCL을 이용한 정상 범위 표시&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;센서 데이터에서는 관리 상한선인 UCL과 관리 하한선인 LCL을 매개변수로 만들었다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UCL: 95.264&lt;/li&gt;
&lt;li&gt;LCL: 94.839&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 값을 참조 구간으로 설정하여 센서 측정값이 정상 관리 범위 안에 있는지 확인했다. 매개변수를 사용했기 때문에 사용자가 UCL과 LCL 값을 직접 변경하면서 기준 변화에 따른 결과를 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상 범위 여부를 구분하기 위해 다음 계산식을 만들었다.&lt;/p&gt;
&lt;pre class=&quot;inform7&quot;&gt;&lt;code&gt;[UCL] &amp;gt;= AVG([Result])
AND [LCL] &amp;lt;= AVG([Result])&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;이 방식은 단순히 센서 추세를 보여주는 것이 아니라 &lt;span&gt;&lt;b&gt;관리 기준을 벗어난 시점을 즉시 식별할 수 있게 한다.&lt;/b&gt;&lt;/span&gt; 품질관리에서는 평균값만 보는 것보다 공정 값이 관리 범위 안에서 안정적으로 유지되는지를 확인하는 것이 중요하다는 점을 이해할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;QAQC Tableau 미니 과제 4일차 _ Notion.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 동작을 이용한 상세 분석&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초 단위 그래프와 밀리초 단위 그래프는 필터 동작으로 연결했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초 단위 그래프에서 특정 시점을 선택하면 아래 밀리초 그래프에는 해당 구간의 상세 데이터만 표시되도록 구성했다. 반대로 선택을 해제했을 때 모든 밀리초 데이터가 다시 나타나면 그래프가 지나치게 복잡해지기 때문에, 선택을 해제할 경우 &lt;span&gt;&lt;b&gt;모든 값 제외&lt;/b&gt;&lt;/span&gt;가 적용되도록 설정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 사용자가 관심 있는 시점을 선택하기 전에는 상세 그래프를 비워두고, 필요한 경우에만 세부 데이터를 확인할 수 있었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau를 이용해 제조 현장의 데이터를 실제 공정도와 제품 이미지 위에 표현하는 방법을 학습했다. 기존에는 차트를 만들 때 행과 열에 어떤 필드를 배치할지만 생각했지만, 이번 실습에서는 이미지의 좌표와 데이터의 위치를 연결하고 다각형 경로를 구성하는 과정까지 필요했다. 특히 자동차 부품별 고장 빈도를 색상으로 표현하니 단순한 표보다 문제 위치를 훨씬 빠르게 파악할 수 있었다. 센서 데이터 실습에서는 밀리초 단위 데이터를 그대로 보여주는 것보다 초 단위 추세에서 이상 구간을 선택하고 상세 데이터를 확인하는 구조가 더 효과적이라는 점도 알게 되었다. &lt;span&gt;&lt;b&gt;품질관리 대시보드는 데이터를 많이 보여주는 화면이 아니라, 문제가 발생한 위치와 시점을 빠르게 찾을 수 있도록 만드는 화면&lt;/b&gt;&lt;/span&gt;이라는 점이 가장 인상적이었다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/53</guid>
      <comments>https://min0jun.tistory.com/53#entry53comment</comments>
      <pubDate>Wed, 22 Jul 2026 21:04:45 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 42일차</title>
      <link>https://min0jun.tistory.com/52</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau 데이터 전처리부터 대시보드 설계&amp;middot;공유까지&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;span&gt;&lt;b&gt;Tableau Prep을 활용한 데이터 전처리 과정&lt;/b&gt;&lt;/span&gt;과 Tableau의 데이터 연결&amp;middot;결합 방식을 학습했다. 이후 대시보드의 목적을 정의하고 화면을 설계하는 방법, 장치별 레이아웃과 동작 기능을 적용하는 방법, 완성한 대시보드를 Tableau Cloud에서 공유하고 관리하는 과정까지 배울 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 차트를 만드는 것을 넘어 &lt;span&gt;&lt;b&gt;데이터 준비 &amp;rarr; 데이터 연결 &amp;rarr; 대시보드 기획 &amp;rarr; 화면 구성 &amp;rarr; 상호작용 설정 &amp;rarr; 공유 및 협업&lt;/b&gt;&lt;/span&gt;으로 이어지는 전체 흐름을 학습했다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau Prep을 활용한 데이터 전처리&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau Prep은 분석에 사용할 데이터를 연결하고 정리하며, 분석하기 좋은 형태로 변환하는 데이터 준비 도구이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 분석에서는 실제 시각화나 모델링보다 데이터 전처리에 더 많은 시간이 필요하다. Tableau Prep은 이러한 과정을 시각적인 플로우로 보여주기 때문에 각 데이터가 어떤 과정을 거쳐 최종 결과로 만들어지는지 쉽게 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau Prep의 주요 기능은 다음 세 가지로 나눌 수 있다.&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&gt;&lt;b&gt;결합(Combine)&lt;/b&gt;&lt;/span&gt;: 조인과 유니온으로 여러 데이터를 합친다.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;정리(Clean)&lt;/b&gt;&lt;/span&gt;: 불필요하거나 일치하지 않는 값을 수정한다.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;변형(Shape)&lt;/b&gt;&lt;/span&gt;: 피벗, 집계, 필터 등을 이용해 데이터 구조를 변경한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습에서는 4개년 영업 실적 파일을 하나로 합친 후 지역별 관리자 정보와 반품 정보를 추가했다. 서로 다른 연도의 데이터는 유니온으로 세로 방향으로 연결하고, 관리자와 반품 데이터는 공통 필드를 기준으로 조인했다. 이후 불일치하는 컬럼을 정리하고 필요하지 않은 필드를 제거해 최종 데이터를 출력했다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4-1.pdf&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;유니온과 조인의 차이&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;유니온은 데이터를 수직으로 결합하는 방식&lt;/b&gt;이다. 컬럼 구조가 같은 월별&amp;middot;연도별 파일을 아래로 이어 붙일 때 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 &lt;span&gt;&lt;b&gt;조인은 공통 필드를 기준으로 데이터를 수평으로 결합하는 방식&lt;/b&gt;&lt;/span&gt;이다. 주문 데이터에 고객 정보나 관리자 정보처럼 새로운 컬럼을 추가할 때 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 2021년부터 2024년까지의 영업 실적 파일은 유니온으로 합치고, 지역별 관리자 데이터는 지역 필드를 기준으로 조인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 기능 모두 데이터를 합치는 방법이지만, &lt;span&gt;&lt;b&gt;행을 추가하는지 컬럼을 추가하는지&lt;/b&gt;&lt;/span&gt;에 따라 활용 방식이 달라진다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;라이브 연결과 추출 연결&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau의 데이터 연결 방식에는 라이브 연결과 추출 연결이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;라이브 연결&lt;/b&gt;은 Tableau와 원본 데이터베이스의 연결을 계속 유지하는 방식이다. 대시보드에서 필터나 계산을 변경할 때마다 원본 데이터베이스에 직접 쿼리를 전달하므로 최신 데이터를 확인할 수 있다.&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&gt;추출 연결&lt;/b&gt;은 원본 데이터를 Hyper 파일로 저장한 뒤 해당 파일을 이용해 분석하는 방식이다. 원본 데이터베이스에 매번 접근하지 않기 때문에 속도가 빠르고 대용량 데이터에서도 비교적 안정적인 성능을 낼 수 있다.&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;4-2.pdf&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau의 필터 적용 순서&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau에서는 여러 필터가 동시에 적용되는 것이 아니라 정해진 순서에 따라 계산된다.&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&gt;추출 필터 &amp;rarr; 데이터 원본 필터 &amp;rarr; 컨텍스트 필터 &amp;rarr; 차원 필터 &amp;rarr; 측정값 필터 &amp;rarr; 테이블 계산 필터&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 순서를 이해해야 Top N이나 FIXED LOD 계산에서 예상과 다른 결과가 나오는 이유를 파악할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;span&gt;&lt;b&gt;컨텍스트 필터는 다른 필터보다 먼저 적용되는 기준 필터&lt;/b&gt;&lt;/span&gt;이다. 특정 지역 안에서 매출 상위 10개 제품을 구하려면 지역 필터를 컨텍스트로 지정한 뒤 제품 Top N 필터를 적용해야 한다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;데이터 관계, 조인, 유니온, 블렌딩&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau에서는 데이터의 구조와 분석 목적에 따라 여러 결합 방식을 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;**관계(Relationship)**는 논리적 계층에서 테이블을 연결한다. 테이블을 바로 하나로 합치지 않고, 실제 시각화에 필요한 필드가 사용될 때 적절한 쿼리를 생성한다. 서로 다른 집계 수준을 유지할 수 있고 불필요한 데이터 중복을 줄일 수 있다는 장점이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;**조인(Join)**은 물리적 계층에서 공통 필드를 기준으로 테이블을 하나로 합친다. 데이터가 즉시 결합되므로 구조가 명확하지만 조인 조건에 따라 중복 데이터나 Null이 발생할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;**유니온(Union)**은 같은 구조를 가진 여러 테이블을 행 단위로 합친다. 월별 또는 연도별 파일을 통합할 때 적합하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;**블렌딩(Blending)**은 서로 다른 데이터 원본을 시각화 단계에서 연결한다. 기본 데이터 원본과 보조 데이터 원본을 공통 필드로 연결하기 때문에 서로 다른 데이터베이스나 집계 수준이 다른 데이터를 함께 분석할 때 활용할 수 있다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4-3.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드의 목적 정의&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드는 여러 차트를 한 화면에 모아놓는 것이 아니라 &lt;span&gt;&lt;b&gt;사용자가 필요한 정보를 빠르게 확인하고 판단할 수 있도록 설계한 화면&lt;/b&gt;&lt;/span&gt;이다.&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;li&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전략 대시보드&lt;/b&gt;는 경영진이 장기 목표와 핵심 KPI를 확인할 때 사용한다.&lt;br /&gt;&lt;span&gt;&lt;b&gt;분석 대시보드&lt;/b&gt;&lt;/span&gt;는 과거 데이터를 탐색하고 원인이나 패턴을 찾을 때 사용한다.&lt;br /&gt;&lt;span&gt;&lt;b&gt;운영 대시보드&lt;/b&gt;&lt;/span&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;5-1.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 화면 구성과 디자인&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;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;지역별 매출 차이는 어디에서 발생하는가?&lt;/li&gt;
&lt;li&gt;고객 세그먼트별 기여도는 어떠한가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;질문이 정해지면 KPI, 추세 차트, 지역 지도, 구성비 차트 등을 어느 위치에 배치할지 설계한다. 이후 사용자가 차트를 클릭하거나 마우스를 올렸을 때 어떤 정보가 나타날지도 함께 결정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디자인에서는 &lt;span&gt;&lt;b&gt;계층, 단순성, 일관성, 근접성, 정렬, 여백, 색상, 폰트, 숫자 형식&lt;/b&gt;&lt;/span&gt;이 중요하다. 특히 중요한 KPI는 상단에 크게 배치하고, 관련된 차트는 가까운 위치에 모아야 한다. 정보를 많이 넣는 것보다 사용자가 가장 먼저 확인해야 할 내용을 분명하게 보여주는 것이 중요하다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5-2.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 레이아웃 구성&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau 대시보드는 데스크톱, 태블릿, 휴대폰에 맞는 장치별 레이아웃을 만들 수 있다.&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;span&gt;&lt;b&gt;고정 크기&lt;/b&gt;&lt;/span&gt;: 지정한 크기를 유지해 레이아웃이 안정적이다.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;자동&lt;/b&gt;&lt;/span&gt;: 화면 크기에 맞춰 자동으로 조정된다.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;범위&lt;/b&gt;&lt;/span&gt;: 최소&amp;middot;최대 크기 안에서 유연하게 변경된다.&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;&lt;b&gt;바둑판식&lt;/b&gt;은 개체가 격자 형태로 자동 정렬되어 전체 구조를 안정적으로 유지하기 좋다. &lt;span&gt;&lt;b&gt;부동 방식&lt;/b&gt;&lt;/span&gt;은 좌표와 크기를 자유롭게 설정할 수 있지만, 해상도가 달라졌을 때 배치가 깨질 수 있어 주의해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습에서는 가로&amp;middot;세로 컨테이너 안에 KPI와 차트를 배치하고, 안쪽 여백과 바깥쪽 여백을 조절해 각 요소를 정돈했다. &lt;span&gt;&lt;b&gt;Padding은 콘텐츠와 테두리 사이의 간격이며, Margin은 개체와 다른 개체 사이의 간격&lt;/b&gt;&lt;/span&gt;이라는 차이도 배울 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5-3.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;대시보드 동작과 도구 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드 동작은 사용자가 차트와 직접 상호작용할 수 있게 만드는 기능이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요 동작에는 필터, 하이라이트, URL 이동, 시트 이동, 매개변수 변경, 집합 값 변경이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 방식은 마우스 오버, 선택, 메뉴 방식으로 설정할 수 있다. 예를 들어 지도에서 특정 지역을 클릭했을 때 다른 차트가 해당 지역의 데이터만 보여주도록 필터 동작을 만들 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;**도구 설명(Tooltip)**은 마우스를 데이터 포인트에 올렸을 때 나타나는 정보창이다. 단순한 텍스트뿐만 아니라 &lt;span&gt;&lt;b&gt;Viz in Tooltip&lt;/b&gt;&lt;/span&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;5-4.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau Cloud를 활용한 공유와 협업&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완성한 대시보드는 Tableau Cloud에 게시해 조직 구성원과 공유할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau Cloud에서는 프로젝트, 통합 문서, 뷰, 데이터 원본, Prep 플로우를 계층적으로 관리한다. 사용자를 직접 지정해 공유하거나 링크와 임베드 코드로 배포할 수 있으며, 이미지&amp;middot;PDF&amp;middot;PowerPoint&amp;middot;CSV 등으로 내려받을 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;댓글 기능을 이용하면 특정 필터 상태를 기준으로 의견을 남길 수 있고, 구독 기능을 설정하면 최신 대시보드를 일정에 맞춰 이메일로 받을 수 있다. 데이터가 기준값을 넘었을 때 이메일이나 Slack으로 알림을 보내는 데이터 기반 알림도 활용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 모든 사용자가 같은 권한을 가져서는 안 되기 때문에 보기, 편집, 다운로드 등의 권한을 역할에 맞게 설정해야 한다. 대시보드 배포는 단순한 파일 전달이 아니라 &lt;span&gt;&lt;b&gt;권한 관리와 협업, 최신 상태 유지까지 포함하는 과정&lt;/b&gt;&lt;/span&gt;이라는 점을 알 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5-5.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau에서 차트를 만드는 기능보다 데이터가 대시보드로 완성되기까지의 전체 과정을 학습했다. Tableau Prep에서 여러 파일을 유니온과 조인으로 합치고, 연결 방식과 필터 계산 순서를 이해한 뒤 대시보드의 목적과 사용자를 고려해 화면을 구성해야 한다는 점을 배울 수 있었다. 이전에는 보기 좋은 차트를 만드는 것이 가장 중요하다고 생각했지만, 실제로는 &lt;span&gt;&lt;b&gt;올바른 데이터와 명확한 질문, 사용하기 편한 화면 구조가 먼저 준비되어야 한다&lt;/b&gt;&lt;/span&gt;는 점이 인상적이었다. 특히 제조업과 품질관리에서는 설비 상태나 불량률을 빠르게 확인해야 하므로 운영 대시보드의 단순성과 실시간성이 중요할 것 같다. 다음에는 직접 품질 데이터를 활용해 전처리부터 대시보드 게시까지 전체 과정을 구현해보고 싶다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/52</guid>
      <comments>https://min0jun.tistory.com/52#entry52comment</comments>
      <pubDate>Mon, 20 Jul 2026 19:56:27 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 41일차</title>
      <link>https://min0jun.tistory.com/51</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau 시각화 심화와 데이터 필드 활용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau의 다양한 &lt;span&gt;&lt;b&gt;고급 시각화 기법&lt;/b&gt;&lt;/span&gt;과 &lt;span&gt;&lt;b&gt;데이터 필드 활용 방법&lt;/b&gt;&lt;/span&gt;, 그리고 &lt;span&gt;&lt;b&gt;완성한 대시보드를 저장하고 공유하는 방법&lt;/b&gt;&lt;/span&gt;을 학습했다. 단순히 차트를 만드는 수준을 넘어 데이터를 원하는 형태로 가공하고, 여러 지표를 효율적으로 표현하는 방법을 익힐 수 있었다. 또한 만든 대시보드를 다른 사람과 공유하거나 포트폴리오로 활용하는 방법까지 함께 배울 수 있었다. &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;이중축(Dual Axis)&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 학습한 내용은 **이중축(Dual Axis)**이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이중축은 &lt;span&gt;&lt;b&gt;두 개의 측정값을 하나의 그래프에서 동시에 표현하는 기능&lt;/b&gt;&lt;/span&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;2-3.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;도넛 차트(Donut Chart)&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 **도넛 차트(Donut Chart)**를 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도넛 차트는 가운데가 비어 있는 형태의 파이 차트이다. 가운데 공간에 총매출이나 KPI와 같은 핵심 정보를 함께 표시할 수 있어 일반 파이 차트보다 활용도가 높다.&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;2-3.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;버터플라이 차트(Butterfly Chart)&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버터플라이 차트도 새롭게 만들어 보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버터플라이 차트는 하나의 기준을 중심으로 양쪽에 막대를 배치하여 &lt;span&gt;&lt;b&gt;두 집단을 비교하는 시각화 방법&lt;/b&gt;&lt;/span&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;2-3.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;Tableau 대시보드 저장 및 공유&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시각화를 완성한 뒤에는 다양한 방식으로 저장하고 공유하는 방법을 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Tableau에서는 두 가지 통합 문서 형식을 사용할 수 있다.&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&gt;&lt;b&gt;.twb&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 시각화 정보만 저장하는 파일&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;.twbx&lt;/b&gt;&lt;/span&gt; : 데이터와 이미지까지 함께 포함하는 패키지 파일&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 사람에게 데이터를 함께 전달해야 하는 경우에는 &lt;span&gt;&lt;b&gt;.twbx&lt;/b&gt;&lt;/span&gt; 형식으로 저장하는 것이 적합하다는 점을 배울 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2-4.pdf&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;PowerPoint&lt;/li&gt;
&lt;li&gt;PNG 이미지&lt;/li&gt;
&lt;li&gt;Excel 크로스탭&lt;/li&gt;
&lt;/ul&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;2-4.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;Tableau Public&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau Public도 함께 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau Public은 누구나 무료로 대시보드를 게시하고 공유할 수 있는 플랫폼이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완성한 대시보드를 업로드하면 URL이 생성되며, 해당 URL을 노션 등에 임베딩하여 시각화를 그대로 보여줄 수도 있다. 포트폴리오를 제작하거나 결과물을 공유할 때 유용하게 활용할 수 있는 기능이라는 점을 알게 되었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2-4.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;데이터 그룹(Group)&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 &lt;span&gt;&lt;b&gt;데이터 그룹(Group)&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;/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&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3-1.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;집합(Set)&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집합(Set) 기능도 함께 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집합은 특정 데이터를 &lt;span&gt;&lt;b&gt;포함(True)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 또는 &lt;/span&gt;&lt;span&gt;&lt;b&gt;제외(False)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 하는 방식으로 관리하는 기능이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 매출 상위 TOP10 고객이나 특정 제품군만 선택하여 분석할 수 있으며, 여러 집합을 결합하여 교집합이나 합집합 형태의 분석도 가능하다.&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;3-1.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;구간 차원(Bin)과 히스토그램&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 처음 접한 기능 중 하나는 &lt;span&gt;&lt;b&gt;구간 차원(Bin)&lt;/b&gt;&lt;/span&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;또한 &lt;span&gt;&lt;b&gt;막대그래프는 범주 간 크기를 비교하는 차트&lt;/b&gt;&lt;/span&gt;&lt;span&gt;이고, &lt;/span&gt;&lt;span&gt;&lt;b&gt;히스토그램은 연속형 데이터의 분포를 확인하는 차트&lt;/b&gt;&lt;/span&gt;&lt;span&gt;라는 차이도 함께 이해할 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3-1.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;Measure Names와 Measure Values&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 &lt;span&gt;&lt;b&gt;Measure Names&lt;/b&gt;&lt;/span&gt;&lt;span&gt;와 &lt;/span&gt;&lt;span&gt;&lt;b&gt;Measure Values&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;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Measure Names&lt;/b&gt;&lt;/span&gt;&lt;span&gt; : 측정값의 이름을 모아둔 필드&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;Measure Values&lt;/b&gt;&lt;/span&gt; : 선택한 측정값들의 실제 값을 모아둔 필드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 필드를 함께 사용하면 매출, 수익, 주문 수, 고객 수와 같은 여러 KPI를 하나의 시각화에서 동시에 표현할 수 있다. 대시보드를 구성할 때 매우 자주 사용하는 기능이라는 점도 함께 배울 수 있었다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3-1.pdf&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;오늘 배운 내용 정리&lt;/b&gt;&lt;/span&gt;&lt;/h1&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;Tableau의 저장 형식과 Tableau Public을 활용한 대시보드 공유 방법을 익혔다.&lt;/li&gt;
&lt;li&gt;그룹(Group)과 집합(Set)을 이용해 데이터를 원하는 형태로 재구성하는 방법을 학습했다.&lt;/li&gt;
&lt;li&gt;구간 차원(Bin)과 히스토그램을 통해 연속형 데이터의 분포를 분석하는 방법을 이해했다.&lt;/li&gt;
&lt;li&gt;Measure Names와 Measure Values를 활용하여 여러 KPI를 하나의 화면에 표현하는 방법을 배울 수 있었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;나의 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 단순히 새로운 차트를 만드는 것보다 &lt;span&gt;&lt;b&gt;데이터를 어떻게 가공하고 활용할 것인지&lt;/b&gt;&lt;/span&gt;에 초점을 맞춘 학습이 많았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 그룹과 집합 기능은 분석 목적에 따라 데이터를 새롭게 구성할 수 있다는 점이 인상적이었다. 또한 Measure Names와 Measure Values를 활용하면 여러 KPI를 깔끔하게 표현할 수 있다는 점도 실무에서 자주 활용될 것이라는 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로는 다양한 시각화 기법을 만드는 것뿐만 아니라 데이터를 분석 목적에 맞게 구조화하고, 적절한 시각화 방식을 선택하는 연습도 꾸준히 해보아야겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/51</guid>
      <comments>https://min0jun.tistory.com/51#entry51comment</comments>
      <pubDate>Wed, 15 Jul 2026 20:28:56 +0900</pubDate>
    </item>
    <item>
      <title>[본캠프] 데이터기반 QA/QC 부트캠프 40일차</title>
      <link>https://min0jun.tistory.com/50</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;1. 오늘의 학습 목표&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 **비즈니스 인텔리전스(BI)**의 개념부터 Tableau의 기본 사용법, 그리고 다양한 차트를 활용한 데이터 시각화 방법까지 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 차트를 만드는 방법을 배우는 것이 아니라, &lt;span&gt;&lt;b&gt;데이터를 어떤 형태로 표현해야 정보를 가장 효과적으로 전달할 수 있는지&lt;/b&gt;&lt;/span&gt;를 이해하는 것이 오늘의 핵심 목표였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 Tableau에서 자주 사용하는 막대 차트, 라인 차트, 맵 차트, 파이 차트, 트리맵, KPI 카드 등을 직접 실습하며 각각의 활용 방법도 함께 익혔다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;2. 오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;비즈니스 인텔리전스(BI)란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 비즈니스 인텔리전스(Business Intelligence)에 대해 학습했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BI는 기업이 보유한 데이터를 분석하여 &lt;span&gt;&lt;b&gt;의사결정에 필요한 정보를 제공하는 과정&lt;/b&gt;&lt;/span&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;결국 BI의 목적은 단순히 예쁜 그래프를 만드는 것이 아니라, &lt;span&gt;&lt;b&gt;데이터 속에서 의미 있는 패턴을 찾아 빠르게 판단할 수 있도록 돕는 것&lt;/b&gt;&lt;/span&gt;이라는 점이 인상 깊었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;Tableau란?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 실습에서 사용한 도구는 Tableau였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau는 코드를 많이 작성하지 않아도 다양한 차트를 만들 수 있는 데이터 시각화 도구이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 불러온 뒤 원하는 필드를 행(Row)과 열(Column)에 배치하기만 해도 기본적인 차트가 만들어지기 때문에 초보자도 비교적 쉽게 사용할 수 있다는 장점이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 차트 하나만 만드는 것이 아니라 여러 시각화를 조합하여 하나의 대시보드로 구성할 수 있어 실무에서도 많이 사용되는 이유를 이해할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 실습에서는 Tableau 화면 구성과 기본 인터페이스도 함께 익혔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 창, 시트, 마크 카드, 행과 열 선반 등 각각의 역할을 살펴보며 앞으로 다양한 시각화를 만드는 기초를 다졌다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;다양한 차트 시각화&lt;/b&gt;&lt;/span&gt;&lt;/h2&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;막대 차트&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막대 차트는 범주별 데이터를 비교할 때 가장 많이 사용하는 차트이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품별 판매량이나 지역별 매출처럼 &lt;span&gt;&lt;b&gt;항목 간 크기를 비교해야 하는 경우&lt;/b&gt;&lt;/span&gt;에 적합하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습에서도 여러 범주의 값을 한눈에 비교하기 위해 막대 차트를 활용했다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;라인 차트&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;연속형과 불연속형&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau에서는 날짜 데이터를 연속형과 불연속형으로 구분하여 표현할 수 있다.&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;span&gt;&lt;b&gt;연속형&lt;/b&gt;&lt;/span&gt;은 시간의 흐름이 끊기지 않는 축으로 표현된다.&lt;/li&gt;
&lt;li&gt;&lt;span&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;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;맵(Map) 차트&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;특히 Tableau는 국가, 시도, 도시 등의 지리 정보를 자동으로 인식하여 쉽게 지도를 생성할 수 있다는 점이 편리했다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;파이 차트&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이 차트는 전체 대비 비율을 표현하는 데 사용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 항목이 너무 많아지면 오히려 비교하기 어려워질 수 있기 때문에, &lt;span&gt;&lt;b&gt;적은 개수의 범주를 비교할 때 사용하는 것이 적절하다&lt;/b&gt;&lt;/span&gt;는 점도 함께 배웠다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;트리맵(Tree Map)&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;퀵 테이블 계산&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau에는 자주 사용하는 계산 기능을 손쉽게 적용할 수 있는 &lt;span&gt;&lt;b&gt;퀵 테이블 계산(Quick Table Calculation)&lt;/b&gt;&lt;/span&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;KPI와 KPI 카드&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 마지막으로 학습한 내용은 KPI(Key Performance Indicator)였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;KPI는 기업이 중요하게 관리하는 핵심 성과 지표를 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 총매출, 주문 건수, 고객 수, 수익률 등이 KPI가 될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tableau에서는 이러한 KPI를 카드 형태로 시각화하여 대시보드 상단에 배치할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숫자만 크게 보여주는 것이 아니라 전월 대비 증감이나 목표 달성 여부까지 함께 표현할 수 있어 중요한 정보를 빠르게 확인할 수 있다는 점이 인상 깊었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서 자주 보는 대시보드 화면이 왜 대부분 KPI 카드부터 배치되는지도 자연스럽게 이해할 수 있었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;오늘 학습한 내용 정리&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 학습을 통해 단순히 차트를 만드는 방법보다 &lt;span&gt;&lt;b&gt;어떤 데이터를 어떤 차트로 표현해야 하는지&lt;/b&gt;&lt;/span&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;또한 Tableau는 복잡한 코드를 작성하지 않고도 다양한 시각화를 만들 수 있기 때문에 데이터를 빠르게 탐색하고 분석하는 데 매우 유용한 도구라는 것을 알게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 머신러닝이나 데이터 분석 프로젝트를 진행할 때도 결과를 단순히 숫자로 제시하는 것이 아니라, 적절한 시각화를 함께 활용하면 전달력이 훨씬 높아질 것 같다는 생각이 들었다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;span&gt;&lt;b&gt;3. 나의 간단 소감&lt;/b&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Tableau를 활용한 다양한 시각화 방법을 배우면서 데이터를 &lt;span&gt;&lt;b&gt;&amp;lsquo;분석하는 것&amp;rsquo;과 &amp;lsquo;잘 보여주는 것&amp;rsquo;은 서로 다른 능력&lt;/b&gt;&lt;/span&gt;이라는 점을 다시 느꼈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 막대 차트나 라인 차트처럼 익숙한 그래프만 알면 된다고 생각했는데, 실제로는 데이터의 성격에 따라 적절한 차트를 선택하는 과정이 훨씬 중요했다. 특히 연속형과 불연속형의 차이나 KPI 카드처럼 실무에서 자주 사용하는 시각화 방식은 단순히 기능을 외우는 것이 아니라, &lt;span&gt;&lt;b&gt;왜 이런 형태로 표현하는지&lt;/b&gt;&lt;/span&gt;를 이해하는 것이 더 중요하다는 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 데이터 분석 프로젝트를 진행할 때도 결과를 숫자만 나열하기보다, &lt;span&gt;&lt;b&gt;데이터가 전달하고 싶은 메시지를 가장 잘 보여줄 수 있는 시각화를 먼저 고민하는 습관&lt;/b&gt;&lt;/span&gt;을 가져야겠다고 느꼈다. 오늘 배운 내용은 앞으로 대시보드를 만들거나 분석 결과를 발표할 때도 계속 활용하게 될 기본기라는 생각이 들었다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <category>Til</category>
      <category>내일배움캠프</category>
      <category>부트캠프</category>
      <author>min0jun</author>
      <guid isPermaLink="true">https://min0jun.tistory.com/50</guid>
      <comments>https://min0jun.tistory.com/50#entry50comment</comments>
      <pubDate>Tue, 14 Jul 2026 21:13:21 +0900</pubDate>
    </item>
  </channel>
</rss>