<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jeff_.log</title>
        <link>https://velog.io/</link>
        <description>살어리 살어리랏다 청산에 살어리랏다.</description>
        <lastBuildDate>Wed, 09 Sep 2020 07:44:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jeff_.log</title>
            <url>https://images.velog.io/images/jeff_/profile/300dbbbc-bc3d-4e5f-8ef3-e055ede82717/IMG_1675.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jeff_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jeff_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[파일을 입맛대로 (Glob)]]></title>
            <link>https://velog.io/@jeff_/%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9E%85%EB%A7%9B%EB%8C%80%EB%A1%9C-Glob</link>
            <guid>https://velog.io/@jeff_/%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9E%85%EB%A7%9B%EB%8C%80%EB%A1%9C-Glob</guid>
            <pubDate>Wed, 09 Sep 2020 07:44:04 GMT</pubDate>
            <description><![CDATA[<h1 id="glob">Glob</h1>
<p>주로 폴더의 파일을 긁어오는 용도로 사용되는데, 경로를 이용해 원하는대로 뽑을 수 있습니다.</p>
<pre><code class="language-python">form glob import glob
glob(&#39;*.exe&#39;)
&gt;&gt; [&#39;aaaaaa.exe&#39;, &#39;gggg.exe&#39;]
golb(&#39;*.txt&#39;)
&gt;&gt; [&#39;aaaaaa.txt&#39;, &#39;gggg.txt&#39;]</code></pre>
<p><code>golb()</code>함수는 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉토리의 리스트를 반환합니다.
<code>*</code> 는 전체를 표현합니다. 물론 현재경로가 아닌 다른 경로에 대해서도 조회 할 수 있습니다.</p>
<h1 id="os">os</h1>
<p>파일을 바꾼다거나 경로를 찾아가는 등 주로 노트북 외부에서 하는 일을 처리하는 모듈입니다.
<code>os.getcwd()</code> 현재경로를 찾을 수 있습니다.
<code>os.listdir()</code> 현재경로의 파일들을 리스트로 뽑아 줍니다.</p>
<pre><code class="language-python">예시1 ) 
os.listdir(&#39;../dataset/&#39;)
&gt;&gt;[&#39;aaa&#39;, &#39;aaa.zip&#39;, &#39;asv_png&#39;, &#39;asv_png.zip&#39;]

예시2 ) 폴더별 데이터의 개수 비교

label_nums = [&#39;0&#39;, &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;]
dataset = os.listdir(&#39;../dataset/&#39;)
nums_dataset = []

for n in label_nums:
    data_per_class = os.listdir(&#39;../dataset/&#39; + n)
    nums_dataset.append(len(data_per_class))

plt.bar(label_nums, nums_dataset)
plt.title(&#39;Number of Dataset per class&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/7291712c-d732-4375-befd-24896de6761d/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[One-hot encoding]]></title>
            <link>https://velog.io/@jeff_/One-hot-encoding</link>
            <guid>https://velog.io/@jeff_/One-hot-encoding</guid>
            <pubDate>Tue, 08 Sep 2020 04:22:39 GMT</pubDate>
            <description><![CDATA[<h1 id="one-hot-encoding이란">One-hot encoding이란</h1>
<p>학습 시킬 때는 모든 데이터를 숫자로 넣어줘야 한다.
명목형 데이터의 경우엔 어떻게 처리해야할까?</p>
<p>예를 들자면 지역의 경우</p>
<ul>
<li>0: 오렌지, 1: 사과, 2: 바나나</li>
</ul>
<p>3가지의 과일이 해당타입의 숫자로 배열되어있다.
** Ex) [0, 1, 2, 2, 2, 1, 1, 0] **</p>
<p>기계학습이나 딥러닝의 학습과정에서 0,1,2의 데이터가 들어간다면 서로 상관이 없지만 숫자로 표현 되어 있기 때문에 영향을 미칠 수 있다.</p>
<p><strong>1 + 1 = 2 라는 수식이
사과 + 사과 = 바나나</strong></p>
<p>라는 결과를 초래할 수 있기 때문</p>
<p>때문에 이를 방지하기 위해 별도에 3개의 column을 만들고 해당 타입의 columns에만 1 나머지 column에는 0 을 대입해주는 pre-processing을 거쳐야 하고, 이것을 one-hot encoding 이라 한다.</p>
<p>즉, 아래와 같이 바뀐다.</p>
<p><img src="https://images.velog.io/images/jeff_/post/56523be8-8c15-473f-92f5-24253a641187/image.png" alt=""></p>
<h2 id="one-hot-encoding-방법">One-hot encoding 방법</h2>
<h3 id="1-tensorflow">1. TensorFlow</h3>
<p>to_categorical()</p>
<pre><code class="language-python"># import module
from tensorflow.keras.utils import to_categorical</code></pre>
<pre><code class="language-python"># label = 5
label_onehot = to_categorical(label, num_classes = 10) # class의 수를 알아야 사용가능
label_onehot</code></pre>
<pre><code>&gt; array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32)</code></pre><h3 id="2-pandas">2. pandas</h3>
<p>pd.get_dummies()</p>
<pre><code class="language-python"># import module
import pandas as pd

# 예시 데이터 생성
data = {
    &#39;과일&#39; : [&#39;오렌지&#39;, &#39;사과&#39;, &#39;바나나&#39;, &#39;바나나&#39;, &#39;바나나&#39;, &#39;사과&#39;, &#39;사과&#39;, &#39;오렌지&#39;]
}

# DataFrame변환
df = pd.DataFrame(data)
df</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/4e5fe30d-df61-48f5-9d0d-14c3bffaead0/image.png" alt=""></p>
<pre><code class="language-python">pd.get_dummies(df)</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/0c359779-a043-4575-a5c1-5918f1a6bbd2/image.png" alt=""></p>
<p>하나의 df로 보자면</p>
<pre><code class="language-python">pd.concat([pd.DataFrame(df), pd.get_dummies(df[&#39;과일&#39;])], axis=1)</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/0de1dd9e-4d5d-4c0b-a530-461f606aaed9/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Tensorflow 2.X]]></title>
            <link>https://velog.io/@jeff_/Tensorflow-2.X</link>
            <guid>https://velog.io/@jeff_/Tensorflow-2.X</guid>
            <pubDate>Tue, 08 Sep 2020 02:11:18 GMT</pubDate>
            <description><![CDATA[<h1 id="기초">기초</h1>
<pre><code class="language-python"># import module
import numpy as np
import tensorflow as tf</code></pre>
<p>tensorflow에서 numpy는 떼려야 뗄 수 없는 관계</p>
<h2 id="array-생성">Array 생성</h2>
<ul>
<li>tuple이나 list 둘 다 np.array()로 씌워 array를 만들 수 있다.</li>
</ul>
<p><img src="https://images.velog.io/images/jeff_/post/dcbd0faf-59eb-4514-9a30-de6caf124535/image.png" alt=""></p>
<h2 id="tensor-생성">Tensor 생성</h2>
<ul>
<li><p>tf.constant()</p>
<ul>
<li><p>list -&gt; Tensor
<img src="https://images.velog.io/images/jeff_/post/2abc3b10-81d0-42ee-a946-44e3c28d8bcc/image.png" alt=""></p>
</li>
<li><p>tutple -&gt; Tensor
<img src="https://images.velog.io/images/jeff_/post/36c7d396-d5bd-48ce-85e6-89488385d9ce/image.png" alt=""></p>
</li>
<li><p>Array -&gt; Tensor
<img src="https://images.velog.io/images/jeff_/post/8dd2e566-a91c-488b-9336-05a68eb9befc/image.png" alt=""></p>
</li>
</ul>
</li>
</ul>
<h2 id="tensor-정보-확인">Tensor 정보 확인</h2>
<ul>
<li><p>shape
<img src="https://images.velog.io/images/jeff_/post/c83a95d4-408a-49c6-a3fb-244e50fdaffd/image.png" alt=""></p>
</li>
<li><p>data type 확인</p>
<ul>
<li><strong>주의</strong> : Tensor를 생성 할 때 dtype을 정하지 않기 때문에 type에 혼동이 올 수 있으며, </li>
<li><em>type에 따라 모델의 무게나 성능 차이에도 영향*</em>을 미친다.</li>
</ul>
<p><img src="https://images.velog.io/images/jeff_/post/069e1437-1717-457a-8713-ae8011a129ad/image.png" alt=""></p>
</li>
<li><p>data type 정의
<img src="https://images.velog.io/images/jeff_/post/9f2eb681-f986-4229-8cb5-5138493b9f0c/image.png" alt=""></p>
</li>
<li><p>data type 변환</p>
<ul>
<li>Numpy에서 astype()을 쓰듯, Tensorflow에서는 tf.cast사용
<img src="https://images.velog.io/images/jeff_/post/c9abd864-9f51-4a92-b117-63e27309de2c/image.png" alt=""></li>
</ul>
</li>
<li><p>Tensor에서 Numpy 불러오기</p>
<ul>
<li><p>np.numpy()
<img src="https://images.velog.io/images/jeff_/post/bd478314-cb21-460d-9dae-6bde1905531a/image.png" alt=""></p>
</li>
<li><p>np.array()
<img src="https://images.velog.io/images/jeff_/post/f84809d2-9ff8-4e87-a2f1-bc60ef6b3db4/image.png" alt=""></p>
</li>
</ul>
<p>type()을 이용해 변환 확인
<img src="https://images.velog.io/images/jeff_/post/a7fba805-4bbc-43bc-9572-248f5cea55ab/image.png" alt=""></p>
</li>
</ul>
<h2 id="난수-생성">난수 생성</h2>
<p><img src="https://images.velog.io/images/jeff_/post/d078975a-e973-4a2e-8f10-42a05ddff01e/image.png" alt=""></p>
<ul>
<li>난수 : 무작위로 만들어진 수열</li>
<li>Normal Distribution(정규분포)은 중심극한 이론에 의한 연속적인 모양</li>
<li>Uniform Distribution(연속균등분포)은 중심 극한 이론과는 무관하며 불연속적이며 일정한 분포</li>
</ul>
<ul>
<li><p>Numpy에서는 정규분포를 기본적으로 생성
<img src="https://images.velog.io/images/jeff_/post/a53da490-2ec1-424d-85df-af05ca0b9e31/image.png" alt=""></p>
</li>
<li><p>Tensorflow에서 정규분포
<img src="https://images.velog.io/images/jeff_/post/e305634f-f393-4e28-978f-1e90f4e7ff16/image.png" alt=""></p>
</li>
<li><p>Tensorflow에서 연속균등분포
<img src="https://images.velog.io/images/jeff_/post/02e760ef-2925-4fea-87f2-75d0389098c3/image.png" alt=""></p>
</li>
</ul>
<p>잘 쓰이진 않을 듯</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Data Visualizaion 2 (Image)]]></title>
            <link>https://velog.io/@jeff_/Data-Visualizaion-2-Image</link>
            <guid>https://velog.io/@jeff_/Data-Visualizaion-2-Image</guid>
            <pubDate>Tue, 08 Sep 2020 00:56:21 GMT</pubDate>
            <description><![CDATA[<h1 id="image-시각화">Image 시각화</h1>
<p>영상인식에서 사용 될 이미지 시각화</p>
<h2 id="사용-할-이미지">사용 할 이미지</h2>
<p><img src="https://images.velog.io/images/jeff_/post/dc9b65e7-9686-4c6c-b743-2d65d952ac6d/dog.jpg" alt=""></p>
<p><img src="https://images.velog.io/images/jeff_/post/73b15c57-d69d-45fc-b0ce-c593337592ce/cat.jpg" alt=""></p>
<pre><code class="language-python"># import module
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt</code></pre>
<p><code>dog_image.shape</code> 
(734, 1100, 3) -&gt; (가로 사이즈, 세로 사이즈, RGB)
흑백이미지의 경우 3차원이 아닌 1차원이 된다.</p>
<h2 id="그래프로-시각화">그래프로 시각화</h2>
<pre><code class="language-python">plt.hist(image.ravel(), 256, [0,256])
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/4c880df6-e0d6-461f-965a-68e2880bd13e/image.png" alt=""></p>
<p>이미지가 높은 value에서 분포되어 있음</p>
<h2 id="그림-보기">그림 보기</h2>
<pre><code class="language-ptyhon">plt.imshow(image)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/9ce66059-0378-4725-9049-934b4b657e63/image.png" alt=""></p>
<pre><code class="language-ptyhon">image_pil = Image.open(path).convert(&#39;L&#39;) # 이미지를 흑백으로 바꿔준다
image_bw = np.array(image_pil)
image_bw.shape</code></pre>
<p>(734, 1100) 뒤에 RGB3차원이 삭제 된 것을 볼 수 있음</p>
<pre><code class="language-python">plt.imshow(image_bw)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/2b3d32b6-a282-4cd8-bf8b-ca57ebb72bc5/image.png" alt=""></p>
<p>수치적으로 높을수록 노란색, 초록색 등으로 밝게 표현 흑백은 아니다. 
(다른 이미지들도 다 이렇게 되는진 모르겠다)</p>
<pre><code class="language-python"># 2개의 차원일 때는 gray scale로 열림
plt.imshow(image_bw, &#39;gray&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/14360dac-172b-42ff-b090-f57677563358/image.png" alt=""></p>
<p>&#39;gray&#39;를 해줘야 흑백으로 보인다.</p>
<h2 id="다른-색상으로-cmap-표현하기">다른 색상으로 cmap 표현하기</h2>
<pre><code class="language-python"># 가장 많이 사용됨.
plt.imshow(image_bw, &#39;jet&#39;) # &#39;RdBu&#39;도 있음
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/207a3a8e-4f5f-4ce6-b6fe-36ce3cf5ddaa/image.png" alt=""></p>
<h3 id="color-bar-추가하기">color bar 추가하기</h3>
<pre><code class="language-python">plt.imshow(image_bw, &#39;jet&#39;)
plt.colorbar()
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/c9e2b015-76b6-49a3-b277-95599ddab98a/image.png" alt=""></p>
<ul>
<li><code>plt.figure(figsize=(10, 10))</code>로 이미지 사이즈도 조절이 가능하다.</li>
<li><code>plt.title()</code>로 이미지 타이틀도 설정이 가능하다.</li>
</ul>
<h2 id="다른이미지">다른이미지</h2>
<pre><code class="language-python">cat_path = &#39;source/cat.jpg&#39;
cat_pil = Image.open(cat_path)
cat_image = np.array(cat_pil)
plt.imshow(cat_image)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/52a7604b-8a86-414f-b340-7ad34fbf2fc5/image.png" alt=""></p>
<pre><code class="language-python">cat_image.shape</code></pre>
<p>을보면 (183, 275, 3)로 강아지의 사진보다 사이즈가 작음</p>
<h2 id="고양이-이미지를-강아지의-이미지-shape에-맞추기">고양이 이미지를 강아지의 이미지 shape에 맞추기</h2>
<p>다양한 방법이 있겠지만 openCV를 이용해 해보자.</p>
<pre><code class="language-python">import cv2

dog_image = cv2.resize(image, (275, 183))
dog_image.shape</code></pre>
<p>(183, 275, 3)</p>
<p>openCV의 경우 shape을 반대로 입력해야한다. <del>원래 사이즈는 (183, 275)</del></p>
<h2 id="이미지-합치기--같이-그리기-">이미지 합치기 ( 같이 그리기 )</h2>
<pre><code class="language-python">plt.imshow(image)
plt.imshow(cat_image)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/2324d948-5d7f-4044-a96f-c3acc0edefa7/image.png" alt=""></p>
<p>그래프의 경우 한번에 같이 그려 졌지만 이미지의 경우 한번에 같이 겹쳐 그려져 강아지 사진이 고양이 사진 뒤에 숨어있다. 중간에 <code>plt.show()</code>를 넣는다면 2개가 따로 그려지겠지만 한번에 같이 볼 순 없다.
같이 보기 위해서는 투명도를 옵션으로 주면 됨</p>
<pre><code class="language-python">plt.imshow(image, alpha=0.8)
plt.imshow(cat_image, alpha=0.5)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/a58e588a-196d-4e48-a564-973fb5b72915/image.png" alt=""></p>
<h2 id="subplot">subplot</h2>
<pre><code class="language-python">plt.figure(figsize=(10, 10))
plt.subplot(2, 2, 1)
plt.imshow(image)
plt.subplot(2, 2, 2)
plt.imshow(cat_image)
plt.subplot(2, 2, 3)
plt.imshow(image_bw, &#39;gray&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/31944522-23f2-466c-bf67-f836a3ab602d/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Data Visualizaion]]></title>
            <link>https://velog.io/@jeff_/%EC%8B%9C%EA%B0%81%ED%99%94</link>
            <guid>https://velog.io/@jeff_/%EC%8B%9C%EA%B0%81%ED%99%94</guid>
            <pubDate>Mon, 07 Sep 2020 13:49:53 GMT</pubDate>
            <description><![CDATA[<h1 id="matplotlib">Matplotlib</h1>
<p><img src="https://images.velog.io/images/jeff_/post/fe4543ed-e264-46c8-8d80-6d388c4c5a91/image.png" alt=""></p>
<p>Matplotlib는 파이썬에서 데이터를 차트나 플롯(Plot)으로 그려주는 라이브러리 패키지로서 가장 많이 사용되는 시각화(Data Visualizaion) 패키지</p>
<p>Matplotlib는 라인 플롯, 바 차트, 파이차트, 히스토그램, Box plot, Scatter Plot 등을 비롯하여 다양한 차트와 플롯 스타일을 지원</p>
<pre><code class="language-python">import matplotlib.pyplot as plt</code></pre>
<h2 id="basic-attributes">Basic Attributes</h2>
<pre><code>alpha : 투명도
kind : 그래프 종류 &#39;line&#39;, &#39;bar&#39;, &#39;barh&#39;, &#39;kde&#39;
logy : Y축에 대해 Log scaling
use_index : 객체의 색인을 눈금 이름으로 사용할지 여부
rot : 눈금 이름 돌리기 (rotating) 0 ~ 360
xticks, yticks : x, y축으로 사용할 값
xlim, ylim : X, Y축의 한계
grid : 축의 그리드를 표현할지 여부
subplots : 각 column에 독립된 subplot 그리기
sharex, sharey : subplots=True 이면 같은 X,Y축을 공유하고 눈금과 한계를 연결
figsize : 생성될 그래프의 크기를 tuple로 지정
title : 그래프의 제목 지정
legend : subplot의 범례 지정
sort_columns : column을 알파벳 순서로 그린다.</code></pre><h2 id="multi-graph">Multi Graph</h2>
<p>subplot을 이용해 여러개의 그래프를 한번에 그릴 수 있음</p>
<pre><code class="language-python"># 데이터 준비
hist_data = np.random.randn(100)
scat_data = np.arange(30)</code></pre>
<pre><code class="language-python">plt.subplot(2, 2, 1)
plt.plot(data)

plt.subplot(2, 2, 2)
plt.hist(hist_data, bins = 20)

plt.subplot(2, 2, 3)
plt.scatter(scat_data, np.arange(30) + 3)

plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/7246eb00-d085-4cb5-bf57-3fdec16961c6/image.png" alt=""></p>
<h2 id="graph-line-option">Graph Line Option</h2>
<p>그래프를 그릴 때 표시되는 색이나 마커 패턴을 바꾸는 것</p>
<ul>
<li>색상: b(파란색), g(초록색), r(빨간색), c(청록색), y(노란색), k(검은색), w(흰색)<ul>
<li><strong>검은색만 &#39;k&#39; 니까 주의</strong></li>
</ul>
</li>
<li>마커: o(원), v(역삼각형), ^(삼각형), s(네모), +(플러스), .(점)</li>
</ul>
<pre><code class="language-python">plt.plot(data, &#39;g--&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/fe67766d-08e9-4795-adb9-2526f2960aa8/image.png" alt=""></p>
<h2 id="graph-size">Graph Size</h2>
<p>figsize를 이용하여 가로, 세로 길이 조절 가능 (단위는 inch)
주의 ) <strong>figsize는 항상 맨 위에 올라 와야 함</strong></p>
<pre><code class="language-python">plt.figure(figsize= (10, 5))
plt.plot(data, &#39;k+&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/3a95419b-383e-42dd-8372-f6e9bd41c007/image.png" alt=""></p>
<p>여러 그래프에 대한 크기 조절
(그냥 plt.figure만 해주면 된다. 똑같다)</p>
<pre><code class="language-python">plt.figure(figsize= (10, 10))

plt.subplot(2, 2, 1)
plt.plot(data)

plt.subplot(2, 2, 2)
plt.hist(hist_data, bins = 20)

plt.subplot(2, 2, 3)
plt.scatter(scat_data, np.arange(30) + 3)

plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/05b0c2ad-f71c-4189-81bd-72b328f6131f/image.png" alt=""></p>
<h2 id="graph-legend">Graph Legend</h2>
<p>그래프 범례추가</p>
<ol>
<li>머신러닝, 딥러닝에서 val셋 비교에 자주 사용</li>
</ol>
<pre><code class="language-python">#데이터 준비
data = np.random.randn(30).cumsum()

# 데이터 시각화
plt.plot(data, &#39;k--&#39;, label = &#39;Default&#39;)
plt.plot(data, &#39;b--&#39;, drawstyle = &#39;steps-post&#39;, label = &#39;steps-post&#39;)
plt.legend()
plt.show()</code></pre>
<p>위 코드와 다른 방법으로</p>
<pre><code class="language-python">plt.legend([&#39;XXX&#39;, &#39;YYY&#39;])</code></pre>
<p>도 있다.</p>
<p><img src="https://images.velog.io/images/jeff_/post/492fdc50-c32c-43d0-accc-5446e15bca2c/image.png" alt=""></p>
<h2 id="graph-name">Graph Name</h2>
<p>그래프 이름 달기</p>
<ol>
<li>한눈에 보기 쉽게 만들기 위해 사용</li>
<li>문서에 서식에 맞춰 타이핑 하기 싫을 때도 사용</li>
</ol>
<pre><code class="language-python"># 데이터 준비
plt.plot(np.random.randn(1000).cumsum())
# 데이터 시각화
plt.title(&#39;Random Graph&#39;)
plt.xlabel(&#39;Stages&#39;)
plt.ylabel(&#39;Values&#39;)
plt.show()</code></pre>
<p><img src="https://images.velog.io/images/jeff_/post/da5e1eb9-b8ec-448b-8c23-7734daf7648b/image.png" alt=""></p>
<h2 id="한글-폰트-코드">한글 폰트 코드</h2>
<p>다양한 한글 폰트 사용 코드들이 있지만 안되는 경우가 종종 있었지만 이 코드는 계속 사용 중
그래프 사이즈까지 같이 묶어서 주로 사용</p>
<pre><code class="language-python"># 한글 폰트 적용
from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname=&quot;c:/Windows/Fonts/malgun.ttf&quot;).get_name()
rc(&#39;font&#39;, family=font_name)
# 그래프 사이즈
plt.rcParams[&quot;figure.figsize&quot;] = (16,6)</code></pre>
<p>++ 자주 쓰는 내용으로 계속 업그레이드 할 거임</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[첫 글]]></title>
            <link>https://velog.io/@jeff_/%EC%B2%AB-%EA%B8%80</link>
            <guid>https://velog.io/@jeff_/%EC%B2%AB-%EA%B8%80</guid>
            <pubDate>Mon, 07 Sep 2020 12:09:50 GMT</pubDate>
            <description><![CDATA[<h1 id="해야지라고-생각만-하던-블로그를-시작">&#39;해야지&#39;라고 생각만 하던 블로그를 시작.</h1>
<p>얼마나 자주 쓰게 될 진 모르겠다. 
공부하는 것들 기록용으로 노션 대신 쓰려고 하는데 쉽고 이뻐 보인다.
매일은 아니더라도 자주 쓰긴 해야할텐데.. 공부하는 것들을 잘 정리해보자.
<strong>어차피 내가 볼 거니까..</strong> 이쁘게 하는건 나중에..;</p>
<p>++ 추가</p>
<p>오.. 이모지 어케했누 했는데 윈도우는 <code>window + .</code> 누르니까 이모지가 나오네?👍
나중에 맥 살꺼니까 맥os도 체크 <code>ctrl + cmd + space bar</code></p>
]]></description>
        </item>
    </channel>
</rss>