<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>d_dior.log</title>
        <link>https://velog.io/</link>
        <description>기술블로그</description>
        <lastBuildDate>Fri, 23 Aug 2024 06:41:18 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>d_dior.log</title>
            <url>https://velog.velcdn.com/images/d_dior/profile/e0340c6d-b044-4af5-b6de-7db830e28106/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. d_dior.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/d_dior" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Cmap과 Kmap EF (Matched Cell)]]></title>
            <link>https://velog.io/@d_dior/Cmap%EA%B3%BC-Kmap-EF-Matched-Cell</link>
            <guid>https://velog.io/@d_dior/Cmap%EA%B3%BC-Kmap-EF-Matched-Cell</guid>
            <pubDate>Fri, 23 Aug 2024 06:41:18 GMT</pubDate>
            <description><![CDATA[<h2 id="efenrichment-factor">EF(Enrichment Factor)</h2>
<ul>
<li><strong>정의</strong> : EF는 실제로 발견된 활성 활성 화합물의 비율을 랜덤 선택으로 기대되는 활성 화합물의 비율과 비교한 값</li>
<li><strong>공식</strong> :<img src="https://velog.velcdn.com/images/d_dior/post/73241bc2-407f-4784-a1bb-dbe17f71c45a/image.png" alt=""> </li>
<li><strong>결론</strong> : 스크리닝 실험에서 특정 특성의 농축 정도를 나타내며, 기대값에 비해 실제로 발견된 비율을 측정</li>
</ul>
<h3 id="sample-id-매칭-후-ef-출력">Sample id 매칭 후 EF 출력</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/eaf8ad84-c51f-4cd1-b11c-80bfb5a8dd5c/image.png" alt="">
up, down에 대해 각 행마다 EF를 계산하여 나타냄</p>
<h3 id="ef-값을-시각화">EF 값을 시각화</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/033aee9e-637b-45fe-9d3a-0ba36f61e43b/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/9fbf11fe-559f-41c1-b9cb-de4f1df1280e/image.png" alt=""></p>
<p><strong>로그 취하여 시각화</strong>
<img src="https://velog.velcdn.com/images/d_dior/post/10001183-a69e-42db-8ce9-18466f427733/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/e5c72ea6-21cd-4d70-be59-e36f0821e918/image.png" alt=""></p>
<h3 id="dose-별로-나타냄">dose 별로 나타냄</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/7c179068-6fdf-439d-acf5-89d1d260446e/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/8a3bb1e4-8336-47a5-b633-ab18dd960727/image.png" alt=""></p>
<h3 id="랜덤인거-박스플랏">랜덤인거 박스플랏</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/a5d72f9e-d316-4215-ad1a-ebb574c3ad87/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Cmap과 Kmap EF (Random Cell)]]></title>
            <link>https://velog.io/@d_dior/Cmap%EA%B3%BC-Kmap-EF</link>
            <guid>https://velog.io/@d_dior/Cmap%EA%B3%BC-Kmap-EF</guid>
            <pubDate>Wed, 21 Aug 2024 08:53:10 GMT</pubDate>
            <description><![CDATA[<h2 id="efenrichment-factor">EF(Enrichment Factor)</h2>
<ul>
<li><strong>정의</strong> : EF는 실제로 발견된 활성 활성 화합물의 비율을 랜덤 선택으로 기대되는 활성 화합물의 비율과 비교한 값</li>
<li><strong>공식</strong> :<img src="https://velog.velcdn.com/images/d_dior/post/73241bc2-407f-4784-a1bb-dbe17f71c45a/image.png" alt=""> - hit rate는 활성 화합물의 비율<ul>
<li>ex ] 전체 데이터셋에 100개의 화합물이 있고, 그 중 10개가 활성 화합물(hits)이라면, 전체 데이터셋의 hit rate는 10%. 만약 특정 조건에서 20개의 화합물을 선택했을 때 그 중 5개가 활성 화합물이라면, 이 조건에서의 hit rate는 25%. 이 경우 EF는 2.5(25% / 10%)</li>
</ul>
</li>
<li><strong>결론</strong> : 스크리닝 실험에서 특정 특성의 농축 정도를 나타내며, 기대값에 비해 실제로 발견된 비율을 측정</li>
</ul>
<p>데이터 설명 및 사용 목적</p>
<ol>
<li>Metadata:</li>
</ol>
<ul>
<li>kmap의 sample id: KMAP 데이터의 샘플 ID.</li>
<li>cmap의 sample id: CMAP 데이터의 샘플 ID.</li>
<li>KID: KMAP에서 사용된 샘플의 고유 식별자.</li>
<li>C dose: CMAP 실험에서 사용된 화합물의 농도.</li>
<li>K dose: KMAP 실험에서 사용된 화합물의 농도.</li>
</ul>
<ol start="2">
<li>Rdata 파일:</li>
</ol>
<ul>
<li>CMAP - MCF7와 CMAP - 전체: CMAP 프로젝트에서 나온 유전자 발현 데이터.</li>
<li>KMAP: KMAP 프로젝트에서 나온 유전자 발현 데이터.</li>
</ul>
<h4 id="전반적인-분석-흐름">전반적인 분석 흐름</h4>
<ol>
<li>데이터 불러오기:</li>
</ol>
<p>R을 사용하여 각 Rdata 파일을 불러옴
Metadata 파일도 불러와서 KMAP와 CMAP의 샘플 ID를 매칭시키기</p>
<ol start="2">
<li>유전자 발현 비교:</li>
</ol>
<p>같은 샘플에 대해 KMAP와 CMAP에서 각각의 유전자 발현 데이터를 추출
이를 통해 동일 샘플에서 유전자 발현의 up-regulation과 down-regulation을 비교</p>
<ol start="3">
<li>Enrichment Factor(EF) 계산:</li>
</ol>
<p>EF는 특정 유전자의 발현 변화가 얼마나 기대되는지와 실제 관찰된 변화 간의 비율을 나타냄
이는 통계적으로 유의미한 유전자 발현 변화를 식별하는 데 사용</p>
<h2 id="random-cmap으로-ef">Random cmap으로 EF</h2>
<h3 id="histogram">Histogram</h3>
<ul>
<li>전체적인 분포 파악을 위함<h4 id="up_ef">up_EF</h4>
<img src="https://velog.velcdn.com/images/d_dior/post/86797736-5883-4292-a63b-477e386e4b74/image.png" alt="">
Original Data - Median: 1.66 
Original Data - Mean: 1.85 
<img src="https://velog.velcdn.com/images/d_dior/post/dba95bca-cf59-4eb8-a8a5-5a83b01cf63e/image.png" alt=""><h4 id="down_ef">down_EF</h4>
<img src="https://velog.velcdn.com/images/d_dior/post/34ba6d26-526f-4e7f-96a9-87ab7137d4fb/image.png" alt="">
Original Data - Median: 1.66 
Original Data - Mean: 1.85 </li>
<li>로그 적용
<img src="https://velog.velcdn.com/images/d_dior/post/d882c645-1660-4d8e-8d0f-bcd682712a11/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/40c7dbee-044b-47f4-8540-54b9e43879d6/image.png" alt=""></li>
</ul>
<h3 id="violin-plot">Violin Plot</h3>
<ul>
<li>데이터의 밀도와 분포 시각화
<img src="https://velog.velcdn.com/images/d_dior/post/122523f3-7ed5-45c0-9113-ceaa4299e085/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/9481edc8-2c04-46c4-908e-2c68d06021a7/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/afd36fdb-a7dc-45bb-963e-688943074846/image.png" alt=""><h3 id="box-plot">Box Plot</h3>
</li>
<li>두 데이터 간의 비교
<img src="https://velog.velcdn.com/images/d_dior/post/ea8d3a39-0237-470f-af1e-4a7bea50249f/image.png" alt=""></li>
</ul>
<p><span style="background-color: rgba(242,179,188,0.5)">core와 반복 수를 늘려봤는데 분포가 달라지지 않았음</span></p>
<h2 id="random-sample로-ef">Random sample로 EF</h2>
<h3 id="총-데이터-길이만큼-random">총 데이터 길이만큼 random</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/8de6c234-b336-4d44-8aba-54151155bbfd/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/d_dior/post/a099a044-d35f-42be-8563-39237c3da70f/image.png" alt=""></p>
<ul>
<li>Log 취한 경우
<img src="https://velog.velcdn.com/images/d_dior/post/6046545f-cc3f-4998-84fc-edfe5893af32/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/bba33b34-6bca-44cd-8dca-8251aeb2a815/image.png" alt=""><h3 id="100000번-random-돌린-경우">100000번 random 돌린 경우</h3>
<img src="https://velog.velcdn.com/images/d_dior/post/119bcfab-4a49-4a9c-8fdf-0463417c0992/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/56e4ead1-6aac-42ce-8a5a-f7498f35eb4e/image.png" alt=""></li>
<li>log 취한 경우
<img src="https://velog.velcdn.com/images/d_dior/post/9fb75324-0fbd-46c9-ba34-f5343ec552ac/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/73c0938e-cbbe-44fd-8003-c3827d00907b/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Data Collection]]></title>
            <link>https://velog.io/@d_dior/Data-Collection</link>
            <guid>https://velog.io/@d_dior/Data-Collection</guid>
            <pubDate>Tue, 16 Jul 2024 05:32:05 GMT</pubDate>
            <description><![CDATA[<p>MESH term 관련된 공부를 좀 더 해야할 것 같음
MESH tree의 숫자를 포함해서.. 질병을 간소화?시키는 질문을 해야하지 않을까 하는 생각이 듦.
context information은 나중에 어떻게 비교할건지..??에 대한 의문이 듦 (gene card와 비교??)
gene card와 비교할 방법을... 잘 찾아야할거같다..</p>
<h2 id="🖇-csv-file-return">🖇 CSV file return</h2>
<h3 id="chat-gpt-에게-질문">Chat GPT 에게 질문</h3>
<ul>
<li><p>context를 너무 자세히 대답해 준게 문제인 것 같아 반영
<img src="https://velog.velcdn.com/images/d_dior/post/32eadb7a-f226-4b95-bf97-f78736f8d45d/image.png" alt=""></p>
</li>
<li><p>답변
<img src="https://velog.velcdn.com/images/d_dior/post/971eb7ed-02a6-49d7-a975-802dd9bccd1f/image.png" alt=""></p>
<blockquote>
<p>MT-ND2의 경우, 저번에는 down-regulated라고 나왔는데 이번에는 up-regulated로 나옴
MT-ND2의 reference를 제외한 모든 reference가 전혀 상관 없는 내용, MT-CO2의 reference는 페이지를 찾을 수 없음</p>
</blockquote>
</li>
<li><p>regulation이랑 references가 틀린 것 같다고 다시 얘기해줬음</p>
<pre><code>Are you sure about that table??? The regulations and references seem incorrect;;;</code></pre><p><img src="https://velog.velcdn.com/images/d_dior/post/e483647b-f850-40ce-8dc9-a391775a99f9/image.png" alt=""></p>
<blockquote>
<p>MT-CO1, MT-CO2 references : Page Not Found
Else : same reference</p>
</blockquote>
</li>
<li><p>MT-ND2의 reference를 읽어봐도 up, down에 관한 구체적 얘기가 없음</p>
</li>
<li><p>지난 번 reference를 언급하며, down-regulated인 것 같다고 말함
<img src="https://velog.velcdn.com/images/d_dior/post/e3338494-c1f9-47c0-b3bb-d7c9af73dbfd/image.png" alt=""></p>
<blockquote>
<p>원하던 context가 나옴!!
이걸 처음부터 주지 않았던 이유는 뭘까..?
어떻게 하면 말하지 않아도 관련된 context와 함께 regulation의 방향을 제시해 줄지 고민해봐야 할듯..</p>
</blockquote>
</li>
</ul>
<h3 id="up-or-down-regulation-in-pdac_6-genes">Up or Down Regulation in PDAC_6 genes</h3>
<ul>
<li><p>다른 gene에도 비슷한 context가 있는지 찾아보고 표로 제시해달라고 질문함
<img src="https://velog.velcdn.com/images/d_dior/post/8544cc80-d8c0-426f-ab13-f2d1ff089339/image.png" alt=""></p>
<blockquote>
<p>MT-ND2의 down-regulated의 reference를 제외하고 전부 page not found
<del>참고로 이 reference는 내가 준 것임..</del>
🤬 url이 안눌린다고 했지만 변하는게 없었음,, 그리고 copy하게 full url 달라고 해서 들어가보니 Page not Found
🤬 Page Not found라고 말하며 다른 reference 찾아달라고 해도 같은 reference만 7번 줌</p>
</blockquote>
</li>
<li><p>참다참다 <strong>화를 냈더니</strong> 다른 url을 찾아줬다
<img src="https://velog.velcdn.com/images/d_dior/post/08579289-b8a7-466d-904c-865cb6cb8d01/image.png" alt=""></p>
<blockquote>
<p>근데 이중에 4개의 Page가 unavailable, 1개는 다른 내용의 paper
나머지 하나는 그냥 genecard url을 갖다줌...</p>
</blockquote>
</li>
<li><p>페이지 안열리고 표로 만들라고 함
<img src="https://velog.velcdn.com/images/d_dior/post/fb0e07ba-66cf-4b2a-a07c-0eac23aacf9a/image.png" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/3f0e3ca1-89f1-45fc-aaa6-dae050300017/image.png" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/bafe7e8b-9b31-40c5-9606-a581c1ddc0cc/image.png" alt=""></p>
<blockquote>
<p>걍 이제 전부 genecard로 준다 ...</p>
</blockquote>
</li>
</ul>
<h2 id="🖇-다른-gene-list-dataset">🖇 다른 gene list dataset</h2>
<ul>
<li>나머지 gene들에 대해서도 표를 달라고 100개 gene file을 보내줌
<img src="https://velog.velcdn.com/images/d_dior/post/63731163-5e25-453c-ae49-e2f997258910/image.png" alt=""></li>
<li>결국 gene 파일을 복붙해서 알려줬더니 csv 파일 만드는 방법에 대해 알려줌..</li>
<li>20개로 줄였더니
<img src="https://velog.velcdn.com/images/d_dior/post/538bcd88-b424-4946-be55-ad4a81961f59/image.png" alt=""></li>
<li>전부 unknown으로 뽑아버린다
🌟 <span style="background-color: rgba(242,179,188,0.5)"><strong>6개씩 출력해주는게 한계라고 판단</strong></span></li>
</ul>
<h2 id="🖇-6개씩-data-출력">🖇 6개씩 data 출력</h2>
<ul>
<li><p>6개씩 직접 나눠서 질문 후 입력하는 방식으로 진행</p>
<pre><code>Okay, then now please provide the regulation and context for these genes (MT-CO3, MT-ND3, MT-ND4L, MT-ND4, MT-ND5, MT-ND6) in the table</code></pre><p><img src="https://velog.velcdn.com/images/d_dior/post/f1e53537-a2e3-4bdc-afd7-04e46b563179/image.png" alt=""></p>
</li>
<li><p>pubmed ID 혹은 DOI로 reference를 달라고 한 결과
<img src="https://velog.velcdn.com/images/d_dior/post/cfb3f18f-95fb-4798-a8cb-bc5e4ce00095/image.png" alt=""></p>
<blockquote>
<p> 그 무엇도 맞지 않았음.. 존재하지 않기도, paper 가 아닌 경우도 존재
보통 다른 주제의 paper을 줌
갑자기 MT-ND2의 down-regulated되는 튜플을 출력하지 않음</p>
</blockquote>
</li>
<li><p>이런 방향으로 진행하기 어렵다고 판단... </p>
</li>
<li><p>재 회의 진행 !!</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Making PCG File]]></title>
            <link>https://velog.io/@d_dior/Making-PCG-File</link>
            <guid>https://velog.io/@d_dior/Making-PCG-File</guid>
            <pubDate>Fri, 12 Jul 2024 09:05:40 GMT</pubDate>
            <description><![CDATA[<h2 id="🖇idea-큰-틀-잡기">🖇Idea 큰 틀 잡기</h2>
<ul>
<li><p>총 19454개의 gene dataset -&gt; 한번에 돌리기 어렵다고 판단</p>
<ul>
<li>얼마나, 몇개의 gene씩 맡길 경우에 거짓된 정보를 뱉는지 검증(reference)</li>
<li>몇번의 dataset을 검증 후, 나중 dataset은 검증없이 merge하기 위함</li>
</ul>
</li>
<li><p>100개정도의 gene을 잡아서 나눠서 돌려, csv 파일을 만든 후 python으로 merge하기로 결정!!!</p>
</li>
</ul>
<hr>
<h2 id="🖇첫-100개-dataset-표로-만들기">🖇첫 100개 dataset 표로 만들기</h2>
<ul>
<li><p>2~101번까지의 csv gene 파일 (pcg2-101.csv) 생성</p>
</li>
<li><p>Chat gpt(4version_유료)에게 영어로 질문 </p>
<ul>
<li>pcg2-101 파일을 함께 보냄</li>
</ul>
</li>
</ul>
<blockquote>
<p> With this gene file, I want to see the relationship between a list of 100 genes and the diseases Carcinoma Pancreatic Ductal. Specifically, I want to know if each gene has an up-regulation or down-regulation relationship with these diseases. Additionally, I would like references for each relationship, preferably provided as PMIDs or DOIs.
<br>Furthermore, I am interested in the context of these relationships. By context, I mean specific nuances such as if the relationship differs between animals and humans, if it varies based on the location within the cell (e.g., cytoplasm vs. nucleus), or if intermediate genes affect the relationship. If such contextual information exists, please include it as well. If there is no such information, it is okay not to mention it. Please provide references for this contextual information separately.
<br>Please organize this information in a clear and concise table format.</p>
</blockquote>
<ul>
<li>제일 첫번째 gene에 대한 답변만을 출력해줬음</li>
</ul>
<h3 id="❔-mt-nd1-답변-내용">❔ MT-ND1 답변 내용</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/de1c1fea-b48e-4c06-9c9c-383face07362/image.png" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/f68a3067-cd1a-49c8-afb4-98a697e3f94f/image.png" alt="">  <a href="https://link.springer.com/article/10.1007/s11596-023-2771-0">Roles of MT-ND1 in Cancer</a> 
  → MT-ND1의 m.3571insC 돌연변이는 항암 및 항전이적 효과 유발
  → 글리오토마 조건 하에서 암의 발생과 변이가 도움을 줌
  <a href="https://insight.jci.org/articles/view/126915">Mitochondrial fusion exploits a therapeutic vulnerability of pancreatic cancer</a>
  → 미토콘드리아 융합이 미토페이지를 촉진해서 췌장암 세포에 과다한 미토콘드리아를 제거함</p>
<blockquote>
<p> ✔ 평가
   &amp;nbsp - cancer type 애트리뷰트 부재
  &amp;nbsp - 바로 표로 주어지지 않고 하나의 gene에 대해서만 세부사항 출력
   &amp;nbsp - 무료 GPT로 이 gene을 돌려본 결과, 나오지 않았던 context까지 자세히 알려줌
  &amp;nbsp - 표의 <span style="background-color: rgba(242,179,188,0.5)"><strong>PMID를 거짓된 정보</strong></span>로 알려줌 <del>(남서부 미국 화재위험 어쩌고 나무고리 어쩌고..)</del>
  <br>
  ✔ 내용 정리
  &amp;nbsp - 미토콘드리아 융합과정에서 산화적 인산화가 감소, 종양 성장 억제
  &amp;nbsp - 인간 세포주와 쥐 모델에서는 일관된 결과</p>
</blockquote>
<p>  <img src="https://velog.velcdn.com/images/d_dior/post/d314f965-9d2a-439f-af4d-79b08f979386/image.png" alt=""></p>
<blockquote>
<p>  ✔ 평가
  &amp;nbsp - 두번째 정보가 잘 이해되지 않아서 어떤 context와 관련있는지 재질문 함
 &amp;nbsp - 관련있는 정보만을 뱉어내지 않고 위의 모든 context를 다른 말로 풀어서 답변해줌
  &amp;nbsp - 표를 다시 그려주면서 <span style="background-color: rgba(242,179,188,0.5)"><strong>PMID</strong>와 contextual information을 바꿈</span>
  &amp;nbsp &amp;nbsp &amp;nbsp 🤬 그러나 이번 PMID도 이상한 내용<del>(간손상 어쩌고 Apoptosis 어쩌고)</del> <img src="https://velog.velcdn.com/images/d_dior/post/fa45fcd8-858a-48da-8ed3-941b0d5b876a/image.png" alt=""></p>
</blockquote>
<ul>
<li>PMID 수정을 요구 &amp; 아까의 두번째 사이트를 가져옴
<img src="https://velog.velcdn.com/images/d_dior/post/1a908932-dff4-4066-b10e-6893c4adc709/image.png" alt=""></li>
</ul>
<h3 id="❔-다른-gene에-대해서도-질문">❔ 다른 gene에 대해서도 질문</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/24891ee6-b466-44e1-8e17-45017e800d49/image.png" alt=""> &amp;nbsp &amp;nbsp  &amp;nbsp  답변 내용</p>
<p><img src="https://velog.velcdn.com/images/d_dior/post/464c4d71-4631-49aa-b299-43b40f24c985/image.png" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/f9619cf9-b664-4cb9-9cbb-1209daf174b0/image.png" alt="">
<a href="https://aacrjournals.org/mct/article/20/11/2166/673225/The-FDA-Approved-Anthelmintic-Pyrvinium-Pamoate">The FDA-Approved Anthelmintic Pyrvinium Pamoate Inhibits Pancreatic Cancer Cells in Nutrient-Depleted Conditions by Targeting the Mitochondria</a>
→ Pyrvinium pamoate(PP)와 같은 약리학적 제제로 MT-ND2를 하향조절하면 미토콘드리아 경로 억제가 되고 이는 췌장암 성장 감소시킴
<a href="https://insight.jci.org/articles/view/126915">Mitochondrial fusion exploits a therapeutic vulnerability of pancreatic cancer</a>
→ 이전 gene의 PMID와 동일</p>
<blockquote>
<p>✔ 평가
   &amp;nbsp - 얘는 전부 옳게 나왔음을 확인했다
   &amp;nbsp - context를 너무 자세히 알려주는 게 문제인듯하다 더 간단하게 줄여야할듯
   &amp;nbsp - context에 집중을 덜하면 PMID에 오류가 줄어들지 않을까?
   &amp;nbsp - 표에 더 치중할 수 있는 쿼리를 짜야할 것 같다.</p>
</blockquote>
<hr>
<p>Chat GPT가 너무 멍청한 것 같은데... 거짓말도 너무 잘하고...
검증을 모든 데이터 전부 다 해야할 것 같은 정확도인데 사용이 가능할지 의문이 든다...</p>
<hr>
<ul>
<li>context를 너무 자세히 알려주는게 문제인듯하다. 조금 더 줄여야할것 같음</li>
<li>좀더 context를 간결하게 표로만 나타내 주어도 충분하다고 말해야할 것 같다</li>
<li>context에 집중을 덜하면 PMID를 오류없이 찾아낼 수 있지 않을까?</li>
<li>MESH term 관련된 공부를 좀 더 해야할 것 같음</li>
<li>MESH tree의 숫자를 포함해서.. 질병을 간소화?시키는 질문을 해야하지 않을까 하는 생각이 듦.</li>
<li>context information은 나중에 어떻게 비교할건지..??에 대한 의문이 듦 (gene card와 비교??)</li>
<li>gene card와 비교할 방법을... 잘 찾아야할거같다..</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Chat GPT API]]></title>
            <link>https://velog.io/@d_dior/Chat-GPT-API</link>
            <guid>https://velog.io/@d_dior/Chat-GPT-API</guid>
            <pubDate>Wed, 10 Jul 2024 03:23:19 GMT</pubDate>
            <description><![CDATA[<h2 id="chat-gpt-api란">Chat GPT API란?</h2>
<blockquote>
<p>OpenAI의 GPT 모델을 사용자의 애플리케이션에 연동할 수 있도록 도와주는 인터페이스</p>
</blockquote>
<ul>
<li><p>내 개인 애플리케이션에서 GPT 모델에게 질문을 보내고, 응답을 받는 시스템!!</p>
</li>
<li><p>직접 필요게 맞게 chat gpt를 커스터마이징 할 수 있음</p>
</li>
<li><p>복잡한 모델을 직접 다루지 않고 간단하게 API 호출해서 강력한 언어 모델의 기능 사용 가능</p>
</li>
<li><p>API 사용은 유료!!! 대화에 사용된 Tokens의 크기에 따라 과금</p>
</li>
</ul>
<hr>
<h2 id="chat-gpt-api의-이점">Chat GPT API의 이점</h2>
<h4 id="1-chat-gpt-application">1. Chat GPT application</h4>
<ul>
<li>OpenAI가 제공하는 인터페이스로 직접 대화가능</li>
<li>별도 개발이 필요 xx</li>
<li>그러나 제공되는 기본 인터페이스와 기능이 제한됨</li>
</ul>
<h4 id="2-chat-gpt-api-장점">2. Chat GPT API 장점</h4>
<ol>
<li><span style="color: darkblue"><strong>커스터마이징</strong></span> : 사용자 인터페이스, 기능, 디자인 자유롭게 변경가능</li>
<li><span style="color: darkblue"><strong>특정 기능 구현</strong></span> : 개인 애플리케이션에 맞춘 특정 기능이나 워크플로우 추가 가능</li>
<li><span style="color: darkblue"><strong>통합</strong></span> : 다른 데이터 소스나 시스템을 쉽게 통합 가능</li>
<li><span style="color: darkblue"><strong>브랜딩</strong></span> : 사용자 경험 제공 가능</li>
<li><span style="color: darkblue"><strong>제어</strong></span> : 데이터 관리, 로깅, 분석 등의 제어 기능 구현 가능</li>
</ol>
<hr>
<h2 id="사용-방법">사용 방법</h2>
<h3 id="🔷-필요한-라이브러리-설치하기">🔷 필요한 라이브러리 설치하기</h3>
<p>🔹openai - API를 python으로 사용할 수 있도록 해주는 라이브러리 
<img src="https://velog.velcdn.com/images/d_dior/post/c5a89291-c588-4104-a289-31bac757ca8e/image.png" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/74bdc754-aa48-4d07-be67-b7496639aee0/image.png" alt=""> -24년 7월 기준 openai update 됨</p>
<h3 id="🔷-api-key-받기">🔷 API key 받기</h3>
<p>🔹오픈AI 플랫폼 API에 접속해서 로그인
🔹Chat GPT의 profile에 들어가면 User API Keys(Legacy)가 존재한다<img src="https://velog.velcdn.com/images/d_dior/post/e5173471-38cf-4a4e-9de1-33be6a9671ac/image.png" alt="">🔹여기서 create new secret key를 사용해 API key를 받을 수 있고, project API key를 받을 수도 있다
🔹이 key는 다시 볼 수 없으니 잘 기록해둬야하고, 잊어버리면 새로운 key를 받아야함</p>
<h3 id="🔷-api-호출">🔷 API 호출</h3>
<p>🔹python 코드를 통해 openai를 호출
🔹발급받은 키를 설정해서 인증
<img src="https://velog.velcdn.com/images/d_dior/post/c18c68b3-0c57-49a6-847c-aa8a7bf51508/image.png" alt="">
🔹python을 통해 GPT 모델에게 질문을 보내면 됨</p>
<hr>
<hr>
<h2 id="질문하기">질문하기</h2>
<ul>
<li><p><span style="background-color: rgba(242,179,188,0.5)">model</span> : &#39;gpt-3.5-turbo&#39; 모델로 설정 (Chat GPT 애플리케이션 모델과 동일한 언어 모델로 기존 모델보다 10배 더 저렴함)</p>
</li>
<li><p><span style="background-color: rgba(242,179,188,0.5)">query</span> : 텍스트로 이미지를 생성하는 방법 등을 물어볼 수 있음</p>
</li>
<li><p><span style="background-color: rgba(242,179,188,0.5)">messages</span>
   🔹생성하려는 대화의 히스토리를 정의하는데 사용됨
   🔹대화에 참여하려는 여러 역할(system, assistant, user)과 메세지 내용 설정
  🔹보통 대화는 먼저 시스템 메세지로 형식을 정의하고, 그 다음 사용자와 도우미의 메세지를 번갈아가면서 정의</p>
<pre><code>  🔸system 메세지: &#39;You are a helpful assistant.&#39;와 같은 메세지로 assistant에게 지시할 수 있음. 시스템이 챗봇에게 일종의 역할을 부여한다고 볼 수 있다
  🔸user 메세지: assistant에게 직접 전달하는 내용
  🔸assistant 메세지: 이전에 응답했던 결과를 저장해 대화의 흐름을 유지할 수 있도록 설정 가능</code></pre><blockquote>
<p>openai.ChatCompletion.create() 전에 파라미터 정의하고, response 변수에 값을 할당!
response[&#39;choices&#39;][0][&#39;message&#39;][&#39;content&#39;] 호출 후 출력</p>
</blockquote>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/d_dior/post/2f3eeb7b-a8d3-4b85-b888-8babf0df2113/image.png" alt=""> - API 사용량이 월간 소비량에 도달하여서 에러가 난 상황(유료이기 때문)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[API를 통한 Data Extraction]]></title>
            <link>https://velog.io/@d_dior/API%EB%A5%BC-%ED%86%B5%ED%95%9C-Data-Extraction</link>
            <guid>https://velog.io/@d_dior/API%EB%A5%BC-%ED%86%B5%ED%95%9C-Data-Extraction</guid>
            <pubDate>Tue, 09 Jul 2024 04:55:53 GMT</pubDate>
            <description><![CDATA[<h2 id="공공-api-이용준비">공공 API 이용준비</h2>
<blockquote>
<p><strong>공공데이터포털</strong>에서 <a href="https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15122453">한국산업인력공단_국가자격 시험교시 과목 정보</a>을 사용하여 API 추출하기 !!</p>
</blockquote>
<ul>
<li><p>기본적인 공공 API 서비스를 위해 필요한 것 : API 의 endpoint 주소(url) + 요청항목 명세서(params) + 서비스키</p>
<ul>
<li>endpoint 주소 : <a href="http://openapi.q-net.or.kr/api/service/rest/InquiryExamKmInfo/getList">http://openapi.q-net.or.kr/api/service/rest/InquiryExamKmInfo/getList</a></li>
<li>params 주소 : ?jmCd=1160&amp;pageNo=1&amp;numOfRows=10</li>
<li>서비스키 : &amp;ServiceKey= 받은 서비스키<ul>
<li>서비스키는 마이페이지의 개인 API 인증키란에 따로 발급됨</li>
<li>encoding key 활용</li>
</ul>
</li>
<li>둘을 합치면(애초에 합쳐서 명세서에 존재한다) : <a href="http://openapi.q-net.or.kr/api/service/rest/InquiryExamKmInfo/getList?jmCd=1160&amp;pageNo=1&amp;numOfRows=10&amp;ServiceKey">http://openapi.q-net.or.kr/api/service/rest/InquiryExamKmInfo/getList?jmCd=1160&amp;pageNo=1&amp;numOfRows=10&amp;ServiceKey</a> <img src="https://velog.velcdn.com/images/d_dior/post/0b28c51f-26cf-4248-a63d-f5b6a0284f92/image.png" alt=""></li>
</ul>
</li>
<li><p>웹브라우저 주소창에 <span style="background-color: rgba(242,179,188,0.5)">url+params+servicekey</span> 입력해보면 요청한 결과가 출력되어 있다</p>
</li>
</ul>
<hr>
<h2 id="data-extraction">Data Extraction</h2>
<h3 id="1-python-환경에서-불러오기">1. Python 환경에서 불러오기</h3>
<pre><code class="language-python"># 라이브러리 가져오기

import lxml
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
import math

service_key = &quot;발급 받은 서비스키&quot;
url = &quot;인증키를 포함한 url&quot;</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/19adb1af-09de-4866-8b77-0f45e9e661da/image.png" alt=""></p>
<h3 id="2-xml-생성하기">2. XML 생성하기</h3>
<pre><code class="language-python">req = requests.get(url)
req.content

soup = BeautifulSoup(req.content, &quot;lxml&quot;)</code></pre>
<h3 id="3-json-형태로-바꾸기">3. JSON 형태로 바꾸기</h3>
<pre><code class="language-python">req = requests.get(url)
content = req.json()</code></pre>
<h3 id="4-dataframe으로-전환">4. DataFrame으로 전환</h3>
<pre><code class="language-python">row = content[&#39;tbLn0pendataRtmsV&#39;][&#39;row&#39;]
df = pd.DataFrame(row)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[API란?]]></title>
            <link>https://velog.io/@d_dior/API%EB%9E%80</link>
            <guid>https://velog.io/@d_dior/API%EB%9E%80</guid>
            <pubDate>Mon, 08 Jul 2024 08:42:46 GMT</pubDate>
            <description><![CDATA[<h2 id="api-개념">API 개념</h2>
<ul>
<li>비지니스의 요구 사항을 백엔드에 전달하는 application programming interface</li>
<li>요청과 응답, 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성요소(애플리케이션)이 서로 통신할 수 있게 해주는 매커니즘</li>
<li>연구, 분석 및 의사 결정을 위해서 data extraction</li>
<li>개발자들이 프로그램 만들기 위해 필요한 대용량 데이터를 쉽게 제공해주는 수단</li>
<li>데이터를 가진 프로그램으로부터 데이터를 호출</li>
<li>방대한 양의 데이터를 가져온다</li>
</ul>
<p><code>EX) 서울 버스 위치와 정보를 실시간으로 볼 수 있는 앱
  -----&gt; 
  버스위치 정보 파일데이터를 분 간격으로 다운받을 수 x  , 실시간 버스 정보 조회할 수 있는 open API 호출하면 직접 데이터 수집하지 않아도 제공된 데이터 사용 가능</code></p>
<hr>
<p>** &quot; API는 레스토랑의 &#39;점원&#39;이다 &quot; **
<img src="https://velog.velcdn.com/images/d_dior/post/1791aea6-3384-448e-a5ca-eb5e96420564/image.png" alt="">_<span style="color: gray">레스토랑에서 손님에게 주문 가능한 메뉴를 보여주고 손님이 고른 음식을 주방에 전달 후, 음식이 나오면 고객에게 전달하는 &#39;점원&#39;이 API이다.</span> _</p>
<h3 id="api-인증키란">API 인증키란?</h3>
<blockquote>
<p>✈ 여행을 위해 항공권 검색
API가 부킹 가능한 항공권 보여주고, 고객이 선택 및 결제
API가 결제 내역을 항공사에 전달</p>
</blockquote>
<p>이때, 고객이 원하는 날짜에 부킹가능한지 파악하려면 항공사의 데이터베이스가 필요함! 이 데이터 베이스는 허가된 사람만 읽을 수 있고, 비밀 코드인 <span style="background-color: rgba(242,179,188,0.5)">API 인증키</span>를 알려줌!
--&gt; 소프트웨어와 애플리케이션을 활용하여 생산성을 높이고 수익을 개선할 수 있음 </p>
<h3 id="open-api">OPEN API</h3>
<ul>
<li>외부 사이트와 자유롭게 활용 및 공유되도록 설계됨</li>
<li>외부 개발자는 이런 API 기능 활용을 위해 애플리케이션을 빌드할 수 있음</li>
</ul>
<hr>
<h2 id="api-특징">API 특징</h2>
<h4 id="1-출력-형태">1. 출력 형태</h4>
<ul>
<li>보통 xml, json 방식<h4 id="2-접근-방법">2. 접근 방법</h4>
</li>
<li>&#39;서비스 정보&#39;에 있는 <span style="background-color: rgba(242,179,188,0.5)">&quot;End Point&quot;</span>에 데이터 공개함</li>
<li><span style="background-color: rgba(242,179,188,0.5)">&quot;End Point&quot;</span>의 http로 URL 만들어서 API에 접근 -&gt; 호출 명령어임
<img src="https://velog.velcdn.com/images/d_dior/post/73191e60-3044-417f-b50f-24e929ebdb61/image.png" alt=""></li>
</ul>
<h4 id="3-api-명세서-확인">3. API 명세서 확인</h4>
<ul>
<li>기관마다 API 규정화 규칙이 다름</li>
<li><span style="background-color: rgba(242,179,188,0.5)">참고 문서</span> 다운 ( 상세기능, 요청 메세지, 서비스 URL 등)
<img src="https://velog.velcdn.com/images/d_dior/post/b819e88b-d8c1-4cb7-8466-2791f152a78b/image.png" alt=""></li>
</ul>
<h4 id="4-공공데이터-포털-오픈-api-사용법">4. 공공데이터 포털 오픈 API 사용법</h4>
<ul>
<li>인증키 받기 (활용 신청 클릭하면 얼마 후 키가 활성화됨)</li>
<li>API 명세서 아래쪽에 <span style="background-color: #f2e2c6">요청/응답 메세지 에제</span>의 url 복사하고, [서비스키]라고 되어있는 부분만 발급된 인증키 코드로 바꾸면 됨</li>
<li>&#39;코드의 인증키&#39; or &#39;서비스키&#39;를 <span style="background-color: #a3abe0">{ }</span>로 변경 후, 마지막에 <span style="background-color: #a3abe0">.format()</span> 함수를 사용하여 servicekey를 받아온다</li>
<li>생성된 url을 부라우저 주소창에 적으면 완료!</li>
<li>성공하면 xml 형태로 데이터가 나온다 (표로 정돈됨)
<img src="https://velog.velcdn.com/images/d_dior/post/545f0826-aba2-4d23-bf78-1f23210a1b5e/image.png" alt=""></li>
<li>이때 xml을 json type으로 바꾸려면 요청 코드 뒤에 <span style="background-color: #a3abe0">&amp;_type=json</span> 적어주면 됨</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[👩🏻‍🏫함성소리-코딩공감자]]></title>
            <link>https://velog.io/@d_dior/%ED%95%A8%EC%84%B1%EC%86%8C%EB%A6%AC-%EC%BD%94%EB%94%A9%EA%B3%B5%EA%B0%90%EC%9E%90</link>
            <guid>https://velog.io/@d_dior/%ED%95%A8%EC%84%B1%EC%86%8C%EB%A6%AC-%EC%BD%94%EB%94%A9%EA%B3%B5%EA%B0%90%EC%9E%90</guid>
            <pubDate>Mon, 10 Jul 2023 05:35:38 GMT</pubDate>
            <description><![CDATA[<h2 id="✒️intro">✒️Intro</h2>
<ul>
<li>교육부와 한국과학 창의재단에서 운영하는 2023년 1학기 대학생 교육기부 프로그램 &#39;함성소리&#39;에 참여한 활동 내용</li>
<li>혜원여자고등학교에서 빅데이터, 파이썬 기초 문법, pandas &amp; numpy &amp; matplotlib 라이브러리를 주제로 수업을 진행</li>
</ul>
<h2 id="✒️1차시20230525">✒️1차시(2023.05.25)</h2>
<h4 id="--세부-프로그램명--빅-데이터란-무엇일까">- 세부 프로그램명 : 빅 데이터란 무엇일까</h4>
<h4 id="--활용-교과목--빅-데이터">- 활용 교과목 : 빅 데이터</h4>
<h4 id="--단원명--데이터-과학">- 단원명 : 데이터 과학</h4>
<h4 id="--활동목표--빅-데이터를-이해하고-엔트리-사용법-익히기">- 활동목표 : 빅 데이터를 이해하고 엔트리 사용법 익히기</h4>
<h4 id="--주요내용">- 주요내용</h4>
<p>📍 도입 </p>
<ul>
<li>빅 데이터 소개 영상을 통해 빅 데이터가 무엇인지 알아보고, 워크시트를 활용하여 데이터를 시각화를 구현한다.<pre><code>  1. 빅 데이터의 정의 설명
  2. 학생들의 데이터 수집
  3. 수집한 데이터를 바탕으로 데이터 시각화 </code></pre></li>
</ul>
<p>📍 전개</p>
<ul>
<li>엔트리 프로그램이 무엇인지 설명하고, 엔트리의 데이터 과학 기능을 통해 엔트리에 적응할 시간을 갖는다.<pre><code>  1. 엔트리 사용 방법 설명
  2. 엔트리로 데이터 시각화</code></pre></li>
</ul>
<p>📍 마무리</p>
<ul>
<li>빅데이터 전문가가 무엇인지 간단하게 설명한 후, 빅데이터와 관련된 퀴즈를 통해 수업 내용을 복습한다.</li>
</ul>
<p>⚠️ 활동 시 주의사항
: 설명이 길어지면 학생들이 지루함을 느낄 수 있으므로 짧은 영상 자료를 이용한다.
엔트리에 익숙하지 않은 학생들이 있을 수 있기에 모든 학생들이 완성을 할 수 있도록 충분한 시간을 제공한다.</p>
<p>🔶 수업에 대한 피드백 및 앞으로의 수업 내용에 관한 설문조사를 진행(난이도, 배우고 싶은 것, 각 프로그래밍 언어에 대한 이해도 등에 대한 설문조사)</p>
<h4 id="--활동-사진">- 활동 사진</h4>
<p><img src="https://velog.velcdn.com/images/d_dior/post/905dc910-b11f-4ae4-8a13-76fbefffd20a/image.jpg" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/f97add85-5468-42cf-a7db-92f87e7617ff/image.jpg" alt=""></p>
<h4 id="--활동-후-수업에-대한-학생들의-피드백-및-느낀점">- 활동 후 수업에 대한 학생들의 피드백 및 느낀점</h4>
<p><img src="https://velog.velcdn.com/images/d_dior/post/fbc5033d-4512-4061-8a80-dfa2e38e58d4/image.jpg" alt=""></p>
<h2 id="✒️2차시20230615">✒️2차시(2023.06.15)</h2>
<h4 id="--세부-프로그램명--python에-대하여">- 세부 프로그램명 : Python에 대하여</h4>
<h4 id="--활용-교과목--python">- 활용 교과목 : Python</h4>
<h4 id="--단원명--프로그래밍-언어">- 단원명 : 프로그래밍 언어</h4>
<h4 id="--활동목표--python이-무엇인지-배우고-문법-익히기">- 활동목표 : Python이 무엇인지 배우고 문법 익히기</h4>
<h4 id="--주요내용-1">- 주요내용</h4>
<p>📍 도입 </p>
<ul>
<li>파이썬이 무엇이고, 요즘날의 파이썬의 관련 추세와 사용방법 등을 배운다.<pre><code> 1. 파이썬에 대한 설명
 2. 파이썬으로 할 수 있는 일과 없는 일 알아보기
 3. colab에 대한 설명</code></pre></li>
</ul>
<p>📍 전개</p>
<ul>
<li>파이썬의 문법 중 자료형에 대하여 수업을 듣고 바로 직접 colab을 통해 실습하는 시간을 갖는다. <pre><code>  💠학생별 개인 노트북 필수
  1. 숫자형 설명
  2. 문자열 자료형
  3. 리스트 자료형
  4. 튜플 자료형
  5. 집합 자료형
  6. 불 자료형</code></pre></li>
</ul>
<p>📍 마무리</p>
<ul>
<li>수업한 내용에 대한 전반적인 복습과 python 문법 퀴즈를 통해 수업 내용을 복습한다.</li>
</ul>
<p>⚠️ 활동 시 주의사항
: python에 익숙하지 않은 학생들이 있을 수 있기에 모든 학생들이 완성을 할 수 있도록 충분한 시간을 제공한다.
직접 돌아다니며 학생들이 친근하게 다가올 수 있고, 쉽게 질문할 수 있도록 한다.
먼저 말걸며 도와주는 식으로 진행하여 못 따라오는 학생이 없도록 한다.</p>
<h4 id="--활동-사진-1">- 활동 사진</h4>
<p><img src="https://velog.velcdn.com/images/d_dior/post/73fd701e-130b-4d7a-8096-ffcdac969b72/image.jpg" alt=""></p>
<h4 id="--활동-후-수업에-대한-학생들의-피드백-및-느낀점-1">- 활동 후 수업에 대한 학생들의 피드백 및 느낀점</h4>
<p><img src="https://velog.velcdn.com/images/d_dior/post/c9af0de9-8689-4bde-98ad-cb92a467c2d7/image.jpg" alt=""></p>
<h2 id="✒️3차시20230713">✒️3차시(2023.07.13)</h2>
<h4 id="--세부-프로그램명--python과-제어문-익히기">- 세부 프로그램명 : Python과 제어문 익히기</h4>
<h4 id="--활용-교과목--python-1">- 활용 교과목 : Python</h4>
<h4 id="--단원명--프로그래밍-언어-1">- 단원명 : 프로그래밍 언어</h4>
<h4 id="--활동목표--조건문과-반복문에-대해서-대해서-배우고-직접-코드-작성해보기">- 활동목표 : 조건문과 반복문에 대해서 대해서 배우고 직접 코드 작성해보기</h4>
<h4 id="--주요내용-2">- 주요내용</h4>
<p>📍 도입 </p>
<ul>
<li>제어문이 무엇인지 배우고, 제어문의 종류에는 어떠한 것이 있는지 살펴본다.</li>
</ul>
<p>📍 전개</p>
<ul>
<li>if문에 대해 배운다.<pre><code>  1. if 문의 기본 구조
  2. 조건문과 비교 연산자
  3. and, or, not 연산자
  4. in, not in
  5. elif 문</code></pre></li>
<li>while문에 대해 배운다.<pre><code>  1. while 문의 기본 구조
  2. break 문
  3. continue문
  4. 무한루프</code></pre></li>
<li>for문에 대해 배운다.<pre><code>  1. for 문의 기본 구조
  2. 예제를 통해 for문 이해하기
  3. for문과 continue문
  4. range 함수
  5. for문과 rage 함수를 이용한 구구단</code></pre></li>
</ul>
<p>📍 마무리</p>
<ul>
<li>수업한 내용에 대한 전반적인 요약과 함께, if, while, for 문 실습 및 퀴즈를 통해
수업 내용을 복습한다</li>
</ul>
<p>⚠️ 활동 시 주의사항
: colab 사용에 익숙하지 않은 학생들도 다수 있기 때문에, 실습을 진행하는 과정에서 자
세한 설명이 필요하다. 또한, 실습 진행 단계별로 학생들의 진행 상황을 체크하여 충분한
시간을 제공할 수 있도록 유의한다.</p>
<h4 id="--활동-사진-2">- 활동 사진</h4>
<p><img src="https://velog.velcdn.com/images/d_dior/post/805ac6fa-9521-4cd3-aa63-c1eeba5e02e3/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/74852626-a168-4a85-b0f5-85bb105a6d65/image.jpg" alt=""></p>
<h2 id="✒️4-5차시_-데이터-전처리-및-시각화-특강20230705-20230707">✒️4-5차시_ 데이터 전처리 및 시각화 특강(2023.07.05, 2023.07.07)</h2>
<h4 id="--세부-프로그램명--파이썬을-이용한-데이터-시각화-및-전처리">- 세부 프로그램명 : 파이썬을 이용한 데이터 시각화 및 전처리</h4>
<h4 id="--활용-교과목--빅-데이터-1">- 활용 교과목 : 빅 데이터</h4>
<h4 id="--단원명--데이터-과학-1">- 단원명 : 데이터 과학</h4>
<h4 id="--활동목표--파이썬-라이브러리numpy-pandas-matplotlib-활용-및-데이터-다루기">- 활동목표 : 파이썬 라이브러리(numpy, pandas, matplotlib) 활용 및 데이터 다루기</h4>
<h4 id="--주요내용-3">- 주요내용</h4>
<p>📍 도입 </p>
<ul>
<li>빅 데이터가 무엇인지 알아보고, 데이터를 다루기 위한 행렬의 기초를 익힌다.<pre><code> 1. 빅 데이터의 정의 및 특징
 2. 빅 데이터의 처리과정 및 활용사례 탐구
 3. 행렬 계산 설명</code></pre></li>
</ul>
<p>📍 전개</p>
<ul>
<li>데이터를 시각화하고 전처리 하는데 필요한 파이썬 라이브러리를 알아보고, 코드를 작성하여 직접 데이터를 다뤄본다.<pre><code>  💠학생별 개인 노트북 필수
  1. matplotlib (파이썬 시각화 라이브러리) 소개 및 실습
  2. numpy (파이썬 수치분석 라이브러리) 소개 및 실습
  3. pandas (파이썬 데이터 분석 라이브러리) 소개 및 실습 </code></pre></li>
</ul>
<p>📍 마무리</p>
<ul>
<li>퀴즈를 통해 배운 내용을 점검하고 응용해본다.</li>
</ul>
<p>⚠️ 활동 시 주의사항
: 설명이 길어지면 학생들이 지루함을 느끼고 잘 이해되지 않을 수 있기 때문에 짧게 실습을 진행한다.
파이썬에 익숙하지 않은 학생들이 있을 수 있기에 모든 학생들이 완성을
할 수 있도록 충분한 시간을 제공한다. 또한, 파이썬 라이브러리를 처음 접하는 학생들이 있고 능숙하게 잘 다루는 학생이 있어 수준차이를 고려해 개개인 별로 질문을 받는다.</p>
<h4 id="--활동사진">- 활동사진</h4>
<ul>
<li>7월 5일
<img src="https://velog.velcdn.com/images/d_dior/post/5c8165a6-fd48-44e6-bdd8-f91475039f2d/image.jpg" alt=""></li>
<li>7월 7일
<img src="https://velog.velcdn.com/images/d_dior/post/e8eba0f9-fe23-44c7-b2fd-2c55fab166e2/image.jpg" alt=""></li>
</ul>
<h4 id="--활동-후-수업에-대한-학생들의-피드백-및-느낀점-2">- 활동 후 수업에 대한 학생들의 피드백 및 느낀점</h4>
<ul>
<li>7월 5일
<img src="https://velog.velcdn.com/images/d_dior/post/49e34aff-d0e2-4176-958c-0ebf29333ca6/image.jpg" alt=""></li>
<li>7월 7일
<img src="https://velog.velcdn.com/images/d_dior/post/2b03d8c5-b3e8-466d-b7a7-701cf7a56571/image.jpg" alt=""> </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[명사, 부정관사, 부정어]]></title>
            <link>https://velog.io/@d_dior/%EB%AA%85%EC%82%AC-%EB%B6%80%EC%A0%95%EA%B4%80%EC%82%AC-%EB%B6%80%EC%A0%95%EC%96%B4</link>
            <guid>https://velog.io/@d_dior/%EB%AA%85%EC%82%AC-%EB%B6%80%EC%A0%95%EA%B4%80%EC%82%AC-%EB%B6%80%EC%A0%95%EC%96%B4</guid>
            <pubDate>Wed, 31 May 2023 04:49:10 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶동사의-부정-단수-명사와-부정어">🔶동사의 부정, 단수 명사와 부정어</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/0a4e46f8-c3b6-4786-bdaf-9e7fc699b00f/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/d5a3bb8c-3e59-4629-b471-bfeb60cf5f5f/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/6a1a38c8-0ba4-44e6-b788-d12c9adb17af/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/015ee410-1098-46c3-8098-abbb682c660c/image.jpg" alt=""></p>
<h2 id="🔶복수명사와-부정어">🔶복수명사와 부정어</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/5d27a4b7-1b95-4a2e-b283-233bb22976d3/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/ac1570a3-ee34-430e-84aa-ee2476882e38/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/f7a7c6f6-514f-4452-8481-28bc0a95e0f7/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[주어 + sein 동사 + 형용사]]></title>
            <link>https://velog.io/@d_dior/%EC%A3%BC%EC%96%B4-sein-%EB%8F%99%EC%82%AC-%ED%98%95%EC%9A%A9</link>
            <guid>https://velog.io/@d_dior/%EC%A3%BC%EC%96%B4-sein-%EB%8F%99%EC%82%AC-%ED%98%95%EC%9A%A9</guid>
            <pubDate>Sun, 28 May 2023 14:00:11 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶예쁜-못생긴-귀여운">🔶예쁜, 못생긴, 귀여운</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/ee2f943c-b0ae-49da-9787-b3af24330364/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/d197bc42-0743-4a92-ae4f-cd6e60fe556e/image.jpg" alt=""></p>
<h2 id="🔶기쁜-행복한-슬픈">🔶기쁜, 행복한, 슬픈</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/6b44b82d-2cbd-4aae-8177-c9d741aaec96/image.jpg" alt=""><img src="https://velog.velcdn.com/images/d_dior/post/b49cdd23-6b5b-4b69-8c55-e56e199f6943/image.jpg" alt=""></p>
<h2 id="🔶의문문-만들기--미혼인-기혼인-늙은-젊은">🔶의문문 만들기 / 미혼인, 기혼인, 늙은, 젊은</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/7d639b1a-b77a-4709-9231-439ed67b565a/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/6fa5068d-211e-4b56-9b28-ca98a5d6ae14/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/aede9295-a103-4d9c-94c3-332a1539fe32/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[FT by partial fraction expansion]]></title>
            <link>https://velog.io/@d_dior/FT-by-partial-fraction-expansion</link>
            <guid>https://velog.io/@d_dior/FT-by-partial-fraction-expansion</guid>
            <pubDate>Sat, 27 May 2023 14:58:21 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/d_dior/post/1c2714a3-6e38-40c8-9853-bdbdaaa7052f/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/c4c4b8e6-9060-4c34-a828-0323e2e665e0/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Github Study 11주차]]></title>
            <link>https://velog.io/@d_dior/Github-Study-11%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@d_dior/Github-Study-11%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Sat, 27 May 2023 14:56:16 GMT</pubDate>
            <description><![CDATA[<h2 id="클라우드에서-개발">클라우드에서 개발</h2>
<ol>
<li>깃허브 코드 스페이스</li>
</ol>
<ul>
<li>코드 스페이스<ul>
<li>개발 환경을 온라인으로 옮긴 것</li>
<li>VS Code 편집기를 이용하여 소스를 작성하고 깃허브에 pull&amp;push 가능</li>
</ul>
</li>
<li>기능<ul>
<li>컴퓨터의 편집기를 사용하는 것처럼 활용가능</li>
<li>소스 수정과 저장 작업 가능</li>
<li>확장 기능 설치 가능</li>
</ul>
</li>
</ul>
<ol start="2">
<li>깃허브 데브</li>
</ol>
<ul>
<li>VS code를 열어 저장소의 소스 수정 가능</li>
<li>태블릿에서도 소스 작성 가능</li>
<li>깃허브 데브 접근<ol>
<li>저장소에 마침표 press</li>
<li>주소 입력하여 데브에 직접 접근</li>
</ol>
<ul>
<li>저장소 주소에서 github.com을 github.dev로 변경</li>
</ul>
</li>
</ul>
<ol start="3">
<li>깃허브 데브에서 소스 수정</li>
</ol>
<ul>
<li>탐색기 창에서 파일 클릭 시 소스 즉시 수정 가능</li>
<li>수정할때 파란 막대가 수정 왼쪽부분에 생성되어 어느 부분이 수정된건지 확인 가능</li>
<li>미리 보기 가능</li>
<li>소스 제어 창으로 커밋 메세지 입력하고 체크 표시하면 푸시 없이도 깃허브에 그대로 저장됨</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[파닉스 및 기본 발음]]></title>
            <link>https://velog.io/@d_dior/%EB%8F%85%EC%9D%BC%EC%96%B4-A1-%EC%B4%88%EB%B3%B4%ED%83%88%EC%B6%9C1</link>
            <guid>https://velog.io/@d_dior/%EB%8F%85%EC%9D%BC%EC%96%B4-A1-%EC%B4%88%EB%B3%B4%ED%83%88%EC%B6%9C1</guid>
            <pubDate>Sat, 27 May 2023 12:56:32 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶기본적인-알파벳-숙지">🔶기본적인 알파벳 숙지</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/991a4082-0058-499a-ae96-16daaf9d229b/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/cf31b314-f068-4437-8e1f-cc393c7288d4/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/1a50c92d-ea17-4299-a5dc-bc3d04f5c90c/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/b99be52b-1cb1-40b1-a779-ebe45df4117b/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/31ca1731-539c-40fe-aaa3-b22219575913/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/ea25271b-3b64-48c6-bb82-96d38edf3196/image.jpg" alt=""></p>
<h2 id="🔶복모음의-발음">🔶복모음의 발음</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/bc3335bc-638f-4169-9f5e-c7316a777653/image.jpg" alt="">
<img src="https://velog.velcdn.com/images/d_dior/post/c998d034-9724-4913-8eda-ae16385d04f5/image.jpg" alt=""></p>
<h2 id="🔶인칭대명사">🔶인칭대명사</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/960815ef-0f49-4927-b039-b7c2c82df2e3/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[5] 파이썬 머신러닝 완벽가이드_회귀]]></title>
            <link>https://velog.io/@d_dior/5-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C%ED%9A%8C</link>
            <guid>https://velog.io/@d_dior/5-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C%ED%9A%8C</guid>
            <pubDate>Sat, 20 May 2023 14:58:59 GMT</pubDate>
            <description><![CDATA[<h2 id="캐글-자전거-대여-수요-예측">캐글 자전거 대여 수요 예측</h2>
<ul>
<li>학습 데이터 세트를 이용해 선형 회귀와 트리 기반 회귀 비교</li>
<li>2011년 1월~2012년 12월 : 날짜/시간, 기온, 습도, 풍속 기반 1시간 간격 자전거 대여 횟수 기재</li>
<li>결정 값은 count로 &#39;대여 횟수&#39;의미</li>
<li>데이터 세트의 주요 칼럼<ul>
<li>datatime: hourly date + timestamp</li>
<li>season: 1 = 봄, 2 = 여름, 3 = 가을, 4 = 겨울</li>
<li>holiday: 1 = 주말 제외 국경일 등의 유일, 0 = 휴일X</li>
<li>workingday: 1 = 주말 및 휴일이 아닌 주중, 0 = 주말 및 휴일</li>
<li>weather<ul>
<li>1 = 맑음, 약간 구름 낀 흐림</li>
<li>2 = 안개, 안개 + 흐림</li>
<li>3 = 가벼운 눈, 가벼운 비 +천둥</li>
<li>4 = 심한 눈/비, 천둥/번개</li>
</ul>
</li>
<li>temp: 온도(섭씨)</li>
<li>atemp: 체감온도(섭씨)</li>
<li>humidity: 상대습도</li>
<li>windspeed: 풍속</li>
<li>casual: 사전에 등록되지 않는 사용자가 대여한 횟수</li>
<li>registered: 사전에 등록된 사용자가 대여한 횟수</li>
<li>count: 대여 횟수</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Github 스터디 6주차]]></title>
            <link>https://velog.io/@d_dior/Github-%EC%8A%A4%ED%84%B0%EB%94%94-6%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@d_dior/Github-%EC%8A%A4%ED%84%B0%EB%94%94-6%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Sat, 20 May 2023 14:36:11 GMT</pubDate>
            <description><![CDATA[<h3 id="1-이력서-사이트-만들기">1. 이력서 사이트 만들기</h3>
<ul>
<li>깃허브 페이지는 글 게시 기능 없이 정보를 보여주기에 적합</li>
<li>깃허브 저장소에 웹사이트 파일 두고 무료로 사용 및 수정 가능</li>
<li>HTML 파일로 내용, CSS 파일로 디자인</li>
<li>첫 화면은 반드시 <code>indes.html</code>로 저장</li>
<li>다른 사람의 저장소의 소스 파일은 직접 수정 X</li>
<li>코딩네컷 플젝 내용 참고</li>
</ul>
<h3 id="2-깃허브-블로그-만들기">2. 깃허브 블로그 만들기</h3>
<ul>
<li>테마와 사용하면 미리 만들어둔 디자인 가운데 선택해서 다양한 사이트 제작 가능</li>
<li>온라인에서 수정 가능</li>
<li>지킬 테마는 유료, 무료 테마 모두 사용 가능</li>
<li>테마의 대부분은 저장소로 연결됨</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[4] 파이썬 머신러닝 완벽가이드_분류]]></title>
            <link>https://velog.io/@d_dior/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C</link>
            <guid>https://velog.io/@d_dior/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C</guid>
            <pubDate>Sat, 13 May 2023 15:57:41 GMT</pubDate>
            <description><![CDATA[<h1 id="캐글-산탄데르-고객-만족-예측">캐글 산탄데르 고객 만족 예측</h1>
<ul>
<li>XGBoost와 LightGBM을 활용하여 고객 만족 여부를 예측</li>
<li>370개 피처 사용</li>
<li>피처는 모두 익명 처리로, 속성 추정 x</li>
<li>클래스 레이블명 TARGET, 1=불만고객 &amp; 0=만족고객</li>
<li>모델 성능 평가는 ROC-AUC(ROC 곡선 영역)</li>
<li><a href="https://www.kaggle.com/c/santander-customer-satisfaction/data">data download</a></li>
</ul>
<h3 id="1-데이터-전처리">1. 데이터 전처리</h3>
<p><img src="https://velog.velcdn.com/images/d_dior/post/7ef3f8d7-538a-4341-84d3-cce4858360d0/image.png" alt="">
&lt;결과값&gt;</p>
<table>
<thead>
<tr>
<th>index</th>
<th>ID</th>
<th>var3</th>
<th>var15</th>
<th>imp_ent_var16_ult1</th>
<th>imp_op_var39_comer_ult1</th>
<th>imp_op_var39_comer_ult3</th>
<th>imp_op_var40_comer_ult1</th>
<th>imp_op_var40_comer_ult3</th>
<th>imp_op_var40_efect_ult1</th>
<th>imp_op_var40_efect_ult3</th>
<th>imp_op_var40_ult1</th>
<th>imp_op_var41_comer_ult1</th>
<th>imp_op_var41_comer_ult3</th>
<th>imp_op_var41_efect_ult1</th>
<th>imp_op_var41_efect_ult3</th>
<th>imp_op_var41_ult1</th>
<th>imp_op_var39_efect_ult1</th>
<th>imp_op_var39_efect_ult3</th>
<th>imp_op_var39_ult1</th>
<th>imp_sal_var16_ult1</th>
</tr>
</thead>
<tbody><tr>
<td>0</td>
<td>1</td>
<td>2</td>
<td>23</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
<td>2</td>
<td>34</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
<td>2</td>
<td>23</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
</tr>
</tbody></table>
<p>▶️ 클래스 값 칼럼을 포함한 피처가 371개 존재한다는 것을 알 수 있음</p>
<h4 id="📍피처-타입과-null-값-더-알아보기">📍피처 타입과 null 값 더 알아보기</h4>
<pre><code class="language-python">cust_df.info()</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/2ce89546-9cad-4cc4-9cb4-2901051c86b6/image.png" alt=""></p>
<p>▶️111개의 피처가 float형, 260개의 피처가 int형임 
▶️모든 피처는 숫자 형태에 null 값이 존재하지 않는다는 것을 알 수 있음</p>
<h4 id="📍전체-데이터의-만족과-불만족의-비율을-알아보자-레이블인-target-속성의-값의-분포를-알아-보면-됨">📍전체 데이터의 만족과 불만족의 비율을 알아보자 (레이블인 Target 속성의 값의 분포를 알아 보면 됨)</h4>
<pre><code class="language-python">print(cust_df[&#39;TARGET&#39;].value_counts())
unsatisfied_cnt = cust_df[cust_df[&#39;TARGET&#39;] == 1].TARGET.count()
total_cnt = cust_df.TARGET.count()
print(&#39;unsatisfied 비율은 {0:.2f}&#39;.format((unsatisfied_cnt / total_cnt)))</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/67f1f5e5-e553-4629-bacc-9b64bba1a83e/image.png" alt="">▶️불만족 비율은 4%밖에 되지 않음</p>
<h4 id="📍dataframe의-describe-활용하여-각-피처의-값의-분포를-확인해보자">📍DataFrame의 describe() 활용하여 각 피처의 값의 분포를 확인해보자</h4>
<pre><code class="language-python">cust_df.describe()</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/d9907f01-6357-4cad-b384-f7d8c58bc249/image.png" alt="">▶️var3 칼럼은 min 값이 -999999임(NaN이나 특정한 예외값을 이렇게 변환한듯)</p>
<p><img src="https://velog.velcdn.com/images/d_dior/post/6e1e408b-6319-41f6-a1e4-e9e50868e156/image.png" alt="">▶️print해서 var3의 값을 조사해보면 116개의 -999999이 존재
▶️가장 많이 존재하는 값은 2임</p>
<p>🔻var3은 숫자형이고 -999999는 편차가 너무 심하므로 값이 가장 많은 2로 변환
🔻ID 피처는 단순 식별자이므로 피처 드롭</p>
<h4 id="📍-999999을-2로-변환-id-피처-드롭하고-클래스-데이터-세트와-피처-데이터-세트를-분리해-별도로-저장">📍-999999을 2로 변환, ID 피처 드롭하고 클래스 데이터 세트와 피처 데이터 세트를 분리해 별도로 저장</h4>
<pre><code class="language-python">cust_df[&#39;var3&#39;].replace(-999999, 2, inplace = True)
cust_df.drop(&#39;ID&#39;, axis=1, inplace = True)

# 피처 세트와 레이블 세트 분리
# 레이블 칼럼은 DataFrame의 맨 마지막에 위치해서 칼럼 위치를 -1로 분리
X_features = cust_df.iloc[:,:-1]
y_labels = cust_df.iloc[:,-1]
print(&#39;피처 데이터 shape:{0}&#39;.format(X_features.shape))</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/8571e974-0c08-475c-9d0f-2a160f4929bb/image.png" alt=""></p>
<h4 id="📍train-data-set과-test-data-set-분리하고-클래스인-target-값-분포도가-모두-비슷하게-추출됐는지-확인">📍train data set과 test data set 분리하고 클래스인 Target 값 분포도가 모두 비슷하게 추출됐는지 확인</h4>
<pre><code class="language-python">from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X_features, y_labels, test_size=0.2, random_state=0)
train_cnt = y_train.count()
test_cnt = y_test.count()
print(&#39;학습 세트 Shape:{0}, 테스트 세트 Shape:{1}&#39;.format(X_train.shape, X_test.shape))

print(&#39; 학습 세트 레이블 값 분포 비율&#39;)
print(y_train.value_counts()/train_cnt)
print(&#39;\n 테스트 세트 레이블 값 분포 비율&#39;)
print(y_test.value_counts()/test_cnt)</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/1257b537-b63b-4ee0-ac5b-9ebe230bfebc/image.png" alt="">▶️train과 test data set 모두 Target 값의 분포가 원본 데이터와 유사하게 4%정도의 불만족 값으로 만들어졌음</p>
<h3 id="2-xgboost-모델-학습과-하이퍼-파라미터-튜닝">2. XGBoost 모델 학습과 하이퍼 파라미터 튜닝</h3>
<h4 id="📍xgboost-학습-모델-생성하고-예측-결과를-roc-auc로-평가해보자">📍XGBoost 학습 모델 생성하고 예측 결과를 ROC AUC로 평가해보자</h4>
<p>   🔻 사이킷런 래퍼인 XGBClassifier를 기반으로 학습 수행
   🔻 성능 평가 기준이 ROC-AUC이므로 eval_metric은 &#39;auc&#39;(logloss로 해도 ㄱㅊ
   🔻 test data set를 평가 데이터 세트로 사용하면 과적합될 가능성이 높아질 수 있긴 하지만... 일단 사용해보겠음</p>
<pre><code class="language-python">from xgboost import XGBClassifier
from sklearn.metrics import roc_auc_score

# n_estimators는 500으로, random state는 예제 수행 시마다 동일 예측 결과를 위해 설정
xgb_clf = XGBClassifier(n_estimators=500, random_state=156)

# 성능 평가 지표를 auc로, 조기 중단 파라미터는 100으로 설정하고 학습 수행
xgb_clf.fit(X_train, y_train, early_stopping_rounds=100, eval_metric=&quot;auc&quot;, eval_set=[(X_train, y_train), (X_test, y_test)])

xgb_roc_score = roc_auc_score(y_test, xgb_clf.predict_proba(X_test)[:, 1], average=&#39;macro&#39;)
print(&#39;ROC AUC: {0:.4f}&#39;.format(xgb_roc_score))</code></pre>
<blockquote>
<p>/usr/local/lib/python3.10/dist-packages/xgboost/sklearn.py:835: UserWarning: &#39;eval_metric&#39; in &#39;fit&#39; method is deprecated for better compatibility with scikit-learn, use &#39;eval_metric&#39; in constructor or&#39;set_params&#39; instead.
  warnings.warn(
/usr/local/lib/python3.10/dist-packages/xgboost/sklearn.py:835: UserWarning: &#39;early_stopping_rounds&#39; in &#39;fit&#39; method is deprecated for better compatibility with scikit-learn, use &#39;early_stopping_rounds&#39; in constructor or &#39;set_params&#39; instead.
  warnings.warn(
[0]    validation_0-auc:0.82005    validation_1-auc:0.81157
[1]    validation_0-auc:0.83400    validation_1-auc:0.82452
[2]    validation_0-auc:0.83870    validation_1-auc:0.82745
[3]    validation_0-auc:0.84419    validation_1-auc:0.82922
[4]    validation_0-auc:0.84783    validation_1-auc:0.83298
[5]    validation_0-auc:0.85125    validation_1-auc:0.83500
[6]    validation_0-auc:0.85501    validation_1-auc:0.83653
[7]    validation_0-auc:0.85831    validation_1-auc:0.83782
[8]    validation_0-auc:0.86143    validation_1-auc:0.83802
[9]    validation_0-auc:0.86452    validation_1-auc:0.83914
[10]    validation_0-auc:0.86717    validation_1-auc:0.83954
[11]    validation_0-auc:0.87013    validation_1-auc:0.83983
[12]    validation_0-auc:0.87369    validation_1-auc:0.84033
[13]    validation_0-auc:0.87620    validation_1-auc:0.84055
[14]    validation_0-auc:0.87799    validation_1-auc:0.84135
[15]    validation_0-auc:0.88071    validation_1-auc:0.84117
[16]    validation_0-auc:0.88237    validation_1-auc:0.84101
[17]    validation_0-auc:0.88352    validation_1-auc:0.84071
[18]    validation_0-auc:0.88457    validation_1-auc:0.84052
[19]    validation_0-auc:0.88592    validation_1-auc:0.84023
[20]    validation_0-auc:0.88788    validation_1-auc:0.84012
[21]    validation_0-auc:0.88845    validation_1-auc:0.84022
[22]    validation_0-auc:0.88980    validation_1-auc:0.84007
[23]    validation_0-auc:0.89019    validation_1-auc:0.84009
[24]    validation_0-auc:0.89193    validation_1-auc:0.83974
[25]    validation_0-auc:0.89253    validation_1-auc:0.84015
[26]    validation_0-auc:0.89329    validation_1-auc:0.84101
[27]    validation_0-auc:0.89386    validation_1-auc:0.84087
[28]    validation_0-auc:0.89416    validation_1-auc:0.84074
[29]    validation_0-auc:0.89660    validation_1-auc:0.83999
[30]    validation_0-auc:0.89737    validation_1-auc:0.83959
[31]    validation_0-auc:0.89911    validation_1-auc:0.83952
[32]    validation_0-auc:0.90103    validation_1-auc:0.83901
[33]    validation_0-auc:0.90250    validation_1-auc:0.83885
[34]    validation_0-auc:0.90275    validation_1-auc:0.83887
[35]    validation_0-auc:0.90290    validation_1-auc:0.83864
[36]    validation_0-auc:0.90460    validation_1-auc:0.83834
[37]    validation_0-auc:0.90497    validation_1-auc:0.83810
[38]    validation_0-auc:0.90515    validation_1-auc:0.83811
[39]    validation_0-auc:0.90533    validation_1-auc:0.83813
[40]    validation_0-auc:0.90574    validation_1-auc:0.83776
[41]    validation_0-auc:0.90690    validation_1-auc:0.83720
[42]    validation_0-auc:0.90715    validation_1-auc:0.83684
[43]    validation_0-auc:0.90736    validation_1-auc:0.83672
[44]    validation_0-auc:0.90758    validation_1-auc:0.83674
[45]    validation_0-auc:0.90767    validation_1-auc:0.83694
[46]    validation_0-auc:0.90778    validation_1-auc:0.83687
[47]    validation_0-auc:0.90791    validation_1-auc:0.83678
[48]    validation_0-auc:0.90829    validation_1-auc:0.83694
[49]    validation_0-auc:0.90869    validation_1-auc:0.83676
[50]    validation_0-auc:0.90890    validation_1-auc:0.83655
[51]    validation_0-auc:0.91067    validation_1-auc:0.83669
[52]    validation_0-auc:0.91238    validation_1-auc:0.83641
[53]    validation_0-auc:0.91352    validation_1-auc:0.83690
[54]    validation_0-auc:0.91386    validation_1-auc:0.83693
[55]    validation_0-auc:0.91406    validation_1-auc:0.83681
[56]    validation_0-auc:0.91545    validation_1-auc:0.83680
[57]    validation_0-auc:0.91556    validation_1-auc:0.83667
[58]    validation_0-auc:0.91628    validation_1-auc:0.83665
[59]    validation_0-auc:0.91725    validation_1-auc:0.83591
[60]    validation_0-auc:0.91762    validation_1-auc:0.83576
[61]    validation_0-auc:0.91784    validation_1-auc:0.83534
[62]    validation_0-auc:0.91872    validation_1-auc:0.83513
[63]    validation_0-auc:0.91892    validation_1-auc:0.83510
[64]    validation_0-auc:0.91896    validation_1-auc:0.83508
[65]    validation_0-auc:0.91907    validation_1-auc:0.83519
[66]    validation_0-auc:0.91970    validation_1-auc:0.83510
[67]    validation_0-auc:0.91982    validation_1-auc:0.83523
[68]    validation_0-auc:0.92007    validation_1-auc:0.83457
[69]    validation_0-auc:0.92015    validation_1-auc:0.83460
[70]    validation_0-auc:0.92024    validation_1-auc:0.83446
[71]    validation_0-auc:0.92037    validation_1-auc:0.83462
[72]    validation_0-auc:0.92087    validation_1-auc:0.83394
[73]    validation_0-auc:0.92094    validation_1-auc:0.83410
[74]    validation_0-auc:0.92133    validation_1-auc:0.83394
[75]    validation_0-auc:0.92141    validation_1-auc:0.83368
[76]    validation_0-auc:0.92321    validation_1-auc:0.83413
[77]    validation_0-auc:0.92415    validation_1-auc:0.83359
[78]    validation_0-auc:0.92503    validation_1-auc:0.83353
[79]    validation_0-auc:0.92539    validation_1-auc:0.83293
[80]    validation_0-auc:0.92577    validation_1-auc:0.83253
[81]    validation_0-auc:0.92677    validation_1-auc:0.83187
[82]    validation_0-auc:0.92706    validation_1-auc:0.83230
[83]    validation_0-auc:0.92800    validation_1-auc:0.83216
[84]    validation_0-auc:0.92822    validation_1-auc:0.83206
[85]    validation_0-auc:0.92870    validation_1-auc:0.83196
[86]    validation_0-auc:0.92875    validation_1-auc:0.83200
[87]    validation_0-auc:0.92881    validation_1-auc:0.83208
[88]    validation_0-auc:0.92919    validation_1-auc:0.83174
[89]    validation_0-auc:0.92940    validation_1-auc:0.83160
[90]    validation_0-auc:0.92948    validation_1-auc:0.83155
[91]    validation_0-auc:0.92959    validation_1-auc:0.83165
[92]    validation_0-auc:0.92964    validation_1-auc:0.83172
[93]    validation_0-auc:0.93031    validation_1-auc:0.83160
[94]    validation_0-auc:0.93032    validation_1-auc:0.83150
[95]    validation_0-auc:0.93037    validation_1-auc:0.83132
[96]    validation_0-auc:0.93084    validation_1-auc:0.83090
[97]    validation_0-auc:0.93091    validation_1-auc:0.83091
[98]    validation_0-auc:0.93168    validation_1-auc:0.83066
[99]    validation_0-auc:0.93245    validation_1-auc:0.83058
[100]    validation_0-auc:0.93286    validation_1-auc:0.83029
[101]    validation_0-auc:0.93361    validation_1-auc:0.82955
[102]    validation_0-auc:0.93359    validation_1-auc:0.82962
[103]    validation_0-auc:0.93435    validation_1-auc:0.82893
[104]    validation_0-auc:0.93446    validation_1-auc:0.82837
[105]    validation_0-auc:0.93480    validation_1-auc:0.82815
[106]    validation_0-auc:0.93579    validation_1-auc:0.82744
[107]    validation_0-auc:0.93583    validation_1-auc:0.82728
[108]    validation_0-auc:0.93610    validation_1-auc:0.82651
[109]    validation_0-auc:0.93617    validation_1-auc:0.82650
[110]    validation_0-auc:0.93659    validation_1-auc:0.82621
[111]    validation_0-auc:0.93663    validation_1-auc:0.82620
[112]    validation_0-auc:0.93710    validation_1-auc:0.82591
[113]    validation_0-auc:0.93781    validation_1-auc:0.82498
ROC AUC: 0.8413</p>
</blockquote>
<p>▶️test data set으로 예측하니 ROC AUC는 약 0.8413이 됨</p>
<h4 id="📍xgboost의-하이퍼-파라미터-튜닝을-해보자">📍XGBoost의 하이퍼 파라미터 튜닝을 해보자</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[Github 스터디 5주차]]></title>
            <link>https://velog.io/@d_dior/Github-%EC%8A%A4%ED%84%B0%EB%94%94-5%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@d_dior/Github-%EC%8A%A4%ED%84%B0%EB%94%94-5%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Sat, 13 May 2023 15:54:44 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/d_dior/post/d6079967-4501-403b-a37c-c240a9c2a25c/image.png" alt=""></p>
<ul>
<li>issue 만들기
<img src="https://velog.velcdn.com/images/d_dior/post/aafb1e55-f1ba-4a1a-bc1e-b827dfd903bf/image.png" alt=""></li>
</ul>
<ul>
<li><p>insight 확인
<img src="https://velog.velcdn.com/images/d_dior/post/6989a6df-876b-4e5d-aec8-e061d019c3d6/image.png" alt=""></p>
</li>
<li><p>직접 코드를 작성
<img src="https://velog.velcdn.com/images/d_dior/post/25b4c4c6-1c6e-43d2-b8c2-77432d93d554/image.png" alt=""></p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[코딩네컷 이미지넣기]]></title>
            <link>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%84%A3%EA%B8%B0</link>
            <guid>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%84%A3%EA%B8%B0</guid>
            <pubDate>Thu, 13 Apr 2023 06:02:01 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶이미지-준비-및-삽입">🔶이미지 준비 및 삽입</h2>
<ul>
<li><p>코딩네컷에 넣을 이미지를 explorer에 background 사진처럼 추가</p>
</li>
<li><p>이미지를 image1~4의 id 속성을 이용하여 삽입</p>
<ul>
<li><p>id니까 #을 이용하여 css 작성</p>
</li>
<li><p><strong>url(&#39;./파일명&#39;)</strong>으로 이미지 주소를 가져옴</p>
</li>
<li><p>./는 현재 html에 있는 폴대로 접근하게 되는 것임</p>
<pre><code class="language-css">   #image1 {
       background-image: url(&quot;./img1.png&quot;);
   }

   #image2 {
       background-image: url(&quot;./img2.png&quot;);
   }

   #image3 {
       background-image: url(&quot;./img3.png&quot;);
   }

   #image4 {
       background-image: url(&quot;./img4.png&quot;);
   }</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/211a0264-3d8c-4a36-badd-62448af9936d/image.png" alt=""></p>
<p>💥왜 까맣게만 보이지..?는 이미지가 일부가 잘린 것임
   → background-size를 cover로 바꿔서 가로 세로 비율 유지하며 전체 컨테이너를 덮으려 이미지 크기를 제어하자
   <img src="https://velog.velcdn.com/images/d_dior/post/3747a7a5-d3be-4703-af72-6072dccdcf85/image.png" alt="">
💥근데 비율조절안되고 나오게됨.. 이미지 크기가 작아도 커지지 않음
   → background-size를 contain으로 바꿔서 이미지의 가로 세로 비율을 유지하면서 이미지를 컨테이너 내에 맞게 크기를 조정
   <img src="https://velog.velcdn.com/images/d_dior/post/cb016cbe-3412-4a18-b1c3-51c1a74b373a/image.png" alt="">
💥계속 반복돼서 사진이 나옴
→ background-repeat 속성을 no-repeat으로 설정하고, background-position 속성을 center center로 설정하여 이미지가 컨테이너 내에서 중앙에 위치하도록 하자</p>
<pre><code class="language-css">.class명 {
     background-image: url(&#39;이미지 경로&#39;);
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center center;
}</code></pre>
<p><img src="https://velog.velcdn.com/images/d_dior/post/fe7f1251-2d6e-43ec-ae03-9b603edba427/image.png" alt=""></p>
</li>
</ul>
</li>
</ul>
<p>완성 결과:
<img src="https://velog.velcdn.com/images/d_dior/post/dbf152e3-d7de-4cd6-be25-68bc2799532b/image.png" alt=""></p>
<h2 id="🔶이미지-설명-글-스타일링">🔶이미지 설명 글 스타일링</h2>
<ul>
<li><p>설명글을 사진에 맞춰 변경
<img src="https://velog.velcdn.com/images/d_dior/post/a3b2d1ed-bf55-4a66-9d2d-3656ff32b479/image.png" alt=""></p>
</li>
<li><p>설명글의 글씨를 흰색으로, 그리고 배경을 검정으로 바꾸고, 배경 끝을 동그랗게 만들자</p>
<pre><code class="language-css">.photo-description {
  /* 배경은 검게, 글자는 흰 색으로 */
  color: white;
  background-color: black;

  /* 가로 너비는 내부 콘텐츠에 딱 맞게! */
  width: fit-content;
  padding: 0 20px;
  margin-bottom: 10px;

  /* 경계선 */
  border-radius: 10px;
}</code></pre>
<p>→ width: fit-content를 사용하면 너비가 글자수에 맞춰 사이즈 조정됨
→ padding을 통해 글자에 위아래, 양옆에 여백을 얼마나 줄지 조정
→ margin-bottom은 나중에 글자를 아래로 내리게 되면 밑에 너무 붙으면 별로니까
→ border-radius는 끝부분을 둥글게 만드는 것으로 10픽셀만큼 둥글게 만들기
결과:
<img src="https://velog.velcdn.com/images/d_dior/post/b15d196b-9d96-45b6-b62b-cfd27089890d/image.png" alt=""></p>
</li>
</ul>
<h2 id="🔶이미지-설명글을-가운데-아래쪽으로-이동">🔶이미지 설명글을 가운데 아래쪽으로 이동</h2>
<ul>
<li>photo-frame에서 해당 요소가 원래 있어야할 위치를 기준으로 이동시키자</li>
<li>⭐position은 HTML 태그의 위치를 잡는 방법임<ul>
<li>사용 방법<ol>
<li>배치방법 정하기(relative, absolute)</li>
<li>이동시키기(top, bottom 등)</li>
</ol>
</li>
</ul>
</li>
<li>position: relative;를 사용하면 다른 요소의 위치에는 영향을 미치지 않으며, 자신의 위치를 기준으로 나중 요소의 위치를 조정할 수 있다.<pre><code class="language-css">.photo-frame {
  position: relative;
}</code></pre>
</li>
<li>photo-description에서는 <ul>
<li>position: absoulte;는 위의 relative로 설정한 것을 기준으로 잡자는 의미</li>
<li>bottom: 0;은 프레임 기준으로 밑에서 0만큼 올라오라는 의미 
➡️ 결국 1번재 사진 기준으로, 사진 정 가운데에 밑에 붙어있게 되는 것(위에서 margin때문에 10픽셀만큼 위로 올라와있는 것임)</li>
<li>마지막 2줄은 왼쪽에서 50%만큼 정확히 가운데 정렬이 됨<pre><code class="language-css">.photo-description {
   ...
 position: absolute;
 bottom: 0;
 transform: translate(-50%);
 left: 50%;
}</code></pre>
</li>
</ul>
</li>
</ul>
<p>결과:
<img src="https://velog.velcdn.com/images/d_dior/post/cd4cdd29-4f47-4c6c-9b6a-711f657af52f/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[코딩네컷 스타일링]]></title>
            <link>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EC%8A%A4%ED%83%80%EC%9D%BC%EB%A7%81</link>
            <guid>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EC%8A%A4%ED%83%80%EC%9D%BC%EB%A7%81</guid>
            <pubDate>Wed, 12 Apr 2023 18:10:50 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶사이트-배경-이미지-다운로드">🔶사이트 배경 이미지 다운로드</h2>
<p><a href="https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/free_photos/background.png">배경 이미지</a>
우선 배경을 다운받아서 vscode에 가져오기(드래그해서 explorer에 갖다두면 됨)
<img src="https://velog.velcdn.com/images/d_dior/post/232bc008-e718-455b-a1c2-bf57a8462967/image.png" alt=""></p>
<h2 id="🔶body-태그-스타일링">🔶body 태그 스타일링</h2>
<ul>
<li><p>body는 웹페이지 전체인 몸통 부분을 의미함!</p>
</li>
<li><p>style 부분에 body 태그를 스타일링</p>
<pre><code class="language-css">/* body태그 자체에 css 요소 부여 */
body {
  font-family: &quot;LeeSeoyun&quot;;
  margin: 0;
  display: flex;
  justify-content: center;
  background-image: url(&quot;./background.png&quot;);
}</code></pre>
<p>→ 1줄 웹페이지에서 사용할 폰트 정의(윗부분에 정의해둠)
→ margin은 영역 밖에 뭔가를 남길 것인지? 약간 여백 생각하면 될듯</p>
<pre><code> ↳ _이 프로젝트에는 없는게 나을듯,, 0으로 해서 제거_</code></pre><p>→ 3-4줄은 가운데 정렬부분 유연하게 바꿀건데 정렬은 가운데로 하는 것을 의미
→ 5줄은 index.html 기준으로 같은 폴더 안에 있는 backgroud.png를 가져오라는 뜻)</p>
</li>
<li><p>결과는??
<img src="https://velog.velcdn.com/images/d_dior/post/e159b1c2-05c0-45c9-94cf-40744ff48149/image.png" alt=""></p>
</li>
</ul>
<h2 id="🔶코딩네컷-안의-영역-스타일링">🔶코딩네컷 안의 영역 스타일링</h2>
<h4 id="1-메인영역-스타일링">1. 메인영역 스타일링</h4>
<ul>
<li><p>div로 나눈 메인 영역을 class로 선택했음(container)</p>
</li>
<li><p>container class를 css 선택자로 잡아서 스타일링</p>
</li>
<li><p>css 선택자는 <strong>.클래스명</strong> 으로 잡으면 됨</p>
<pre><code class="language-css">/* 너비는 390픽셀, 배경색이 좀 필요하고 부모(body) 높이 전체 */
.container {
width: 390px;
background-color: #ff9d73; #주황과 비슷한 색
height: 100%;
}</code></pre>
<p>→ 390픽셀은 핸드폰의 너비와 비슷한 정도
→ container을 둘러싸고 있는 body 태그의 높이 만큼을 차지</p>
<p><img src="https://velog.velcdn.com/images/d_dior/post/d730dc07-474c-4af0-b38f-f813db0a6e13/image.png" alt=""></p>
</li>
</ul>
<h4 id="2-사진영역-스타일링">2. 사진영역 스타일링</h4>
<ul>
<li><p>image 1,2,3,4 전체를 포함한 &#39;photos&#39; class들 스타일링</p>
</li>
<li><p>일단 지금까지는 너무 위쪽에 붙어있으니까 위에 여백을 좀 넣어주자</p>
<pre><code class="language-css">   /* 위로 여유 30픽셀 정도 만들자 */
.photos {
   margin-top: 30px;
}</code></pre>
<p>결과 :
<img src="https://velog.velcdn.com/images/d_dior/post/60e0ffc0-d517-45ac-bf28-38fdd10dfe67/image.png" alt=""></p>
</li>
</ul>
<h4 id="3-사진-각각에-대한-스타일링">3. 사진 각각에 대한 스타일링</h4>
<ul>
<li><p>photo-frame class를 의미</p>
<pre><code class="language-css">/* 배경은 알아보기 쉽게 흰색으로, 좌우 마진은 20픽셀 */
/* 상하 마진은 15픽셀로, 높이는 각 사진마다 200 픽셀로!*/

.photo-frame {
    background-color: white;
    margin: 15px 20px;
    height: 200px;
}</code></pre>
<p>결과: (완전 거의 완성된것만 같은..!!)
<img src="https://velog.velcdn.com/images/d_dior/post/aeb8192e-c1a9-44f1-b94b-859d8441bf82/image.png" alt=""></p>
</li>
</ul>
<h2 id="🔶코딩네컷-하단-부분-스타일링">🔶코딩네컷 하단 부분 스타일링</h2>
<ul>
<li><p>footer class 선택자를 통해 스타일링</p>
<ol>
<li><p>글씨가 왼쪽으로 치우쳐져 있으니까 유연하게 만들어서 가운데로 가져오자</p>
<pre><code class="language-css">.footer{
   display: flex;
   flex-direction: column;
   align-items: center;
   }</code></pre>
<ul>
<li>flex-direction을 column으로 잡아주면 위아래로 겹겹이 쌓인 애들이 그대로 유지될 수 있도록!<pre><code>- _[cf]flex-direction: row;를 사용하면 양옆으로 놓이게 됨_</code></pre></li>
<li>나머지를 가운데로 묶어달라는 의미로 가운데 정렬해달라는 말
<img src="https://velog.velcdn.com/images/d_dior/post/0a40dc51-1c52-4049-b89f-40ea7a7bf9a6/image.png" alt=""></li>
</ul>
</li>
<li><p>footer title와 date 스타일링</p>
<pre><code class="language-css">.f-title {
       color: white;
       font-size: 25px;
       font-weight: 900;
   }
.f-date {
       color: white;
       font-size: 15px;
       font-weight: 500;
    }</code></pre>
<ul>
<li>font-weight는 폰트의 굵기를 의미
결과:
<img src="https://velog.velcdn.com/images/d_dior/post/81888497-d4a7-47b8-a000-f4cfcbc0ea1a/image.png" alt=""></li>
</ul>
</li>
</ol>
</li>
</ul>
<h2 id="🔶최종-결과">🔶최종 결과</h2>
<p><img src="https://velog.velcdn.com/images/d_dior/post/bd69a20a-06d2-4db3-9729-c13c68036198/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[코딩네컷 구조잡기]]></title>
            <link>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EA%B5%AC%EC%A1%B0%EC%9E%A1%EA%B8%B0</link>
            <guid>https://velog.io/@d_dior/%EC%BD%94%EB%94%A9%EB%84%A4%EC%BB%B7-%EA%B5%AC%EC%A1%B0%EC%9E%A1%EA%B8%B0</guid>
            <pubDate>Tue, 11 Apr 2023 18:21:47 GMT</pubDate>
            <description><![CDATA[<h2 id="🔶구조잡기란">🔶구조잡기란?</h2>
<ul>
<li>스타일링이나, 상세한 코드를 짜기 전 대략적인 윤곽을 잡아주는 것을 의미</li>
<li>선택자(id, class)를 통해 어떤 역할을 할지 미리 정하는 것이 좋음</li>
</ul>
<h2 id="🔶뼈대잡기">🔶뼈대잡기</h2>
<pre><code class="language-html"> /* 이서윤체 폰트 적용을 위한 코드 */
      @font-face {
        font-family: &quot;LeeSeoyun&quot;;
        src: url(&quot;https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff&quot;)
          format(&quot;woff&quot;);
        font-weight: normal;
        font-style: normal;
      }</code></pre>
<p>→ 이서윤체를 가져옴
→ 웹폰트를 플젝 내부에서 쓸 예정
→ css인 style에 작성하는 코드</p>
<h2 id="🔶메인-영역-만들기">🔶메인 영역 만들기</h2>
<ul>
<li>코딩 네컷의 메인 부분 담당</li>
<li>div : 화면 안에서 어떠한 구역과 영역을 나누는 역할</li>
<li>css 적용하기 위해 id와 class를 직접 입력<pre><code class="language-javascript">&lt;body&gt;
  &lt;div class=&quot;container&quot;&gt;
      &lt;div class=&quot;photos&quot;&gt;
           &lt;div id=&quot;image1&quot; class=&quot;photo-frame&quot;&gt;사진1&lt;/div&gt;
           &lt;div id=&quot;image2&quot; class=&quot;photo-frame&quot;&gt;사진2&lt;/div&gt;
           &lt;div id=&quot;image3&quot; class=&quot;photo-frame&quot;&gt;사진3&lt;/div&gt;
           &lt;div id=&quot;image4&quot; class=&quot;photo-frame&quot;&gt;사진4&lt;/div&gt;
       &lt;/div&gt;
    &lt;div class=&quot;footer&quot;&gt;아래 영역&lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>
→ 가장 큰 container div 하나
→ 그 안에 photos div와 footer div로 2개의 div가 있음
→ photos div 안에는 div가 4개로 나뉨
 → 이때 background 이미지가 다 다르기 때문에 id를 사용하여 나눠야함(하나하나 다 구분됨)
 → 그렇지만 또 가로 세로 길이인 구조가 같다는 공통 속성이 있으므로 class도 부여
 <img src="https://velog.velcdn.com/images/d_dior/post/b72fcd18-1e81-4fdc-aa13-7bf52da16912/image.png" alt=""></li>
</ul>
<h2 id="🔶사진-부분에-이미지-설명-넣기">🔶사진 부분에 이미지 설명 넣기</h2>
<ul>
<li><p>사진 1 등으로 적힌 부분에 실제 문구를 넣기</p>
</li>
<li><p>span 태그로 관리하기(보통 많이 사용)</p>
<ul>
<li><p>div 안에서 작은 영역을 표시해주는 역할을 함</p>
<pre><code class="language-javascript">...

     &lt;div id=&quot;image1&quot; class=&quot;photo-frame&quot;&gt;
               &lt;span id=&quot;desc1&quot; class=&quot;photo-description&quot;&gt;
                   첫 번째 이미지 설명
               &lt;/span&gt;
           &lt;/div&gt;
     &lt;div id=&quot;image2&quot; class=&quot;photo-frame&quot;&gt;
               &lt;span id=&quot;desc2&quot; class=&quot;photo-description&quot;&gt;
                   두 번째 이미지 설명
               &lt;/span&gt;
           &lt;/div&gt;
     &lt;div id=&quot;image3&quot; class=&quot;photo-frame&quot;&gt;
               &lt;span id=&quot;desc3&quot; class=&quot;photo-description&quot;&gt;
                   세 번째 이미지 설명
               &lt;/span&gt;
           &lt;/div&gt;
     &lt;div id=&quot;image4&quot; class=&quot;photo-frame&quot;&gt;
               &lt;span id=&quot;desc4&quot; class=&quot;photo-description&quot;&gt;
                   네 번째 이미지 설명
               &lt;/span&gt;
           &lt;/div&gt;
...</code></pre>
<p>→ span 태그에도 태그마다 css를 위해 id와 class를 부여해준다
→ 태그를 작성할때는 &lt;태그이름&gt;을 먼저 쓰면 &lt;태그이름(a)&gt;&lt;/태그이름(b)&gt;으로 쓰여짐!
→ 이때, id와 class 등의 선택자는 a 뒤에 쓰면 되고, a와 b사이에 내용을 작성하면 된다</p>
</li>
</ul>
</li>
<li><p>코드 작성 후 live server로 보여지는 결과물
<img src="https://velog.velcdn.com/images/d_dior/post/15d6d5ce-d3db-4a28-8c1f-b08041c97fd5/image.png" alt=""></p>
</li>
</ul>
<h2 id="🔶4개의-이미지-밑에-들어가는-부분-만들기">🔶4개의 이미지 밑에 들어가는 부분 만들기</h2>
<ul>
<li>p 태그(paragraph) 2개를 활용</li>
<li>문단을 2개로 나누어서 각각 class속성을 부여한 다음 내용을 작성<pre><code class="language-javascript">&lt;div class=&quot;footer&quot;&gt;
  &lt;p class=&quot;f-title&quot;&gt;Happy Lunch Time&lt;/p&gt;
&lt;p class=&quot;f-date&quot;&gt;2023.01.23&lt;/p&gt;
&lt;/div&gt;</code></pre>
<img src="https://velog.velcdn.com/images/d_dior/post/2a751162-b5e7-43e6-b191-6ac054cae1e8/image.png" alt=""></li>
</ul>
<h4 id="✴️전체적인-구조짜기-모두-완성✴️">✴️전체적인 구조짜기 모두 완성!✴️</h4>
]]></description>
        </item>
    </channel>
</rss>