TIL - 2020.07.27

요리하는코더·2020년 7월 28일
2

TIL

목록 보기
2/193
post-thumbnail

시간 늦어서 애매한 TIL이다. (원래 개발자는 12시 넘어서가 국룰아닌가?,,,ㅎ,,)

오늘은 피곤하기도 하고 간단히 작성을 하겠다.(다음날 수정해서 간단히가 아닌게 되버렸다...)

👉 오늘 한 일

  • 오늘인 주 몰랐는데 인공지능 강의를 듣는 날이었다. (문제가 안 된다면 추후 업데이트 할 계획이다.🤗)
  • 주가를 분석하는 강의였는데 그 중 내가 궁금했던 부분에 간략하게나마 정리하고자 한다.
  • 아직 어색한 Notion으로 정리한 내용이다.
  • Jupyter Notebook에 TensorFlow를 적용해서 실습했다.
  • 오늘 개인적인 공부를 못 한 대신 개인적인 업무를 했는데 지금 진행중인 프로젝트의 일부분 화면설계를 작성했다.

👉 공부한 내용

  • Tensorflow를 활용한 내용이었다.
  • 그중 궁금했던 부분인 !pip instll 패키지명에 대해 이야기를 하겠다.
  • 나는 pip 앞의 !를 왜 붙이는지 궁금했다. 물론 강사님이 설명을 짧게 한 거 같은데 못 들은 부분을 다시 이야기 해달라고하기 그래서 검색을 시작했다.🤦‍♂️
  • 추후 package 관리 프로그램에 대해 다루겠지만 간략히 정리를 해보겠다.
  • pipPython Package Index (PyPI) 저장소로부터 파이썬 패키지를 받아 설치하는 패키지 관리 도구이다.
  • 그러면 PyPI는 또 무엇인가?(개발 관련 공부를 하다보면 꼬리의 꼬리를 무는 정보들이 너무 많은 것 같다.🤷‍♂️) PyPIthird-party 파이썬 오픈소스 패키지들을 위한 저장소라는데 또 third-party라는 내용이 나온다.
  • third-party란 하드웨어 생산자와 직접적인 관계없이 소프트웨어를 개발하는 회사를 서드 파티라고 부른다.(출처 위키)
    - 예를 들어 보자면, 스마트 폰에 깔려 있는 기본적인 앱(메시지, 인터넷)이 아닌 앱 스토어에서 다운 받는 앱들이 일종의 third-party이다.

정리를 하자면
1. pip: 파이썬 패키지를 받아 설치하는 패키지 관리 도구(node.js의 npm과 유사하며 파이썬 패키지들로는 numpy, beautifulsoup4 등이 존재한다.)
2. PyPI: third-party 파이썬 오픈소스 패키지들을 위한 저장소
3. Third-party: 하드웨어 생산자와 직접적인 관계없이 소프트웨어를 개발하는 회사 혹은 개발자(플러그인, 라이브러리, 프레임워크 등이 개발과 개발자 사이의 서드파티인 셈이다.)

  • 그래서 내가 궁금했던 pip 앞의 !를 붙이는 이유에 대해 설명하자면 cmd(명령 프롬프트)에서 설치를 할때는 pip install 패키지명이고 내가 사용한 Jupyter notebook과 같은 환경에서 설치를 하려면 !pip install 패키지명을 입력하라고 한다.
  • 아래는 공부한 필기내용이다.
# 새로운 패키지 설치 방법
!pip install 패키지명

# !를 넣는 이유는 jupyter notebook에 터미널처럼 설치

# 패키지 및 텐서플로우 임포트
import matplotlib as mlp
import tensorflow as tf

# as는 alias의 약어로 앞으로 as 뒤의 축약어로 사용하겠다는 것을 의미한다

# 변수 선언
W = tf.Variable(tf.ones(shape=(2,2)), name="W")
b = tf.Variable(tf.zeros(shape=(2)), name="b")

# ones는 1로 초기화, zeros는 0으로 초기화
# name으로 설정하는 것은 tensorboard로 확인할 때 시각적으로 확인하기 편리하기 위해서이다.

# 수식 정의
@tf.function
def forward(x):
	return W * x + b

# 수식 실행하기
out_a = forward([1, 0])
print(out_a) # 텐서 그대로 출력하기
print(out_a.numpy()) # 값만 출력하기

# 정수 a와 b를 곱하는 연산
# 연산 정의
@tf.function
def compute_m(a, b):
    return tf.multiply(a, b)
    
# 연산 실행
out_b = compute_m(2, 5)
print(out_b)
print(out_b.numpy())

# 아래는 Yahoo API를 가져와서 주가 데이터를 불러오는 부분이다.
# 005930은 S전자의 종목코드이고 KS는 코스피 KQ는 코스닥을 의미한다.

# 필요한 모듈 import
from datetime import datetime
import pandas_datareader as df
import pandas_datareader.data as wb

# 불러올 주가 데이터 날짜 설정
start = datetime(2010, 11, 1)
end = datetime(2020, 1, 30)
df = wb.DataReader('005930.KS', 'yahoo', start, end)
# 코스피는 KS 코스닥은 KQ

df.shape    # 차원을 확인
df.info     # 전반적인 데이터 확인
df.dtype    # 데이터들의 타입을 확인
df.head()   # 데이터프레임의 상위 5개 데이터 (괄호안에 숫자 설정 가능)
df.tail()   # 데이터프레임의 하위 5개 데이터 (괄호안에 숫자 설정 가능)
df.columns  # 데이터프레임을 이루는 모든 컬럼 출력
df.describe()

"""
cf. describe()메소드는 생성했던 DataFrame 의 간단한 통계 정보를 보여줍니다.
컬럼별로 데이터의 개수(count), 데이터의 평균값(mean), 표준 편차(std), 최솟값(min),
4분위수(25%, 50%, 75%), 그리고 최댓값(max)들의 정보를 알 수 있습니다.
"""

이상 오늘 공부한 내용의 정리이다.

☕️ 잡담

사실 작성하고 잠들어서 2020.07.28에 올리는 27일의 TIL이다... 아직 포기한 거 아닙니당,,,
이런 식으로 TIL을 작성하는 게 맞는지는 모르겠지만, 일단은 꾸준히 작성해 나갈 계획이다.
아, 그리고 요즘(비단 요즘이 아니라 전부터 그랬지만😢) 글을 읽을 때마다 너무 대충 읽고 몇 번씩 다시 읽는 경향이 있다. 또, 이야기하거나 수업을 들을 때 딴생각을 많이 하는데 우연히 인스타그램을 보다가 알게 된 방법을 공유해본다. 의지력과 관련된 부분이어서 나와 관련 있는 건지는 모르겠지만 쨌든, 나에게 필요한 부분이라고는 생각된다.
꿀차님의 - 의지박약에서 벗어나 목표를 성취해가는 방법이란 웹툰으로 재미도 있으니 한 번쯤 읽어보길 바란다. 나는 여기에 나온 방법 중에 왼손으로 스마트폰 사용하기를 하고 있는데 아직 며칠 안 됐지만, 습관적으로 오른손으로 사용할 때도 있고, 내 왼손의 힘이 이렇게 부족했나,,싶기도 하다. 그리고 생각보다 진짜 불편하다. 오른손이 더 긴 것인지 오른손으로 왼쪽의 버튼들을 누를 때 크게 불편함이 없었던 거 같은데 왼손으로 오른쪽의 버튼들을 누르려고 하니 힘들다. 닫기, 확인 등의 버튼도 오른쪽에 많아서 왼손잡이들은 얼마나 불편했을까 싶은 생각도 들었다. 아직 시작한 지 얼마 안 됐지만 좀 더 적응을 해보고 나에게 변화가 있는지도 나중에 적어보겠다!


📑 참고 블로그

profile
요리 좋아하는 코린이

0개의 댓글