[TIL] 200325 Wed - 금요일 같은 수요일

sunkim01·2020년 3월 24일
0

TIL

목록 보기
3/5
post-thumbnail

오늘은 마치 금요일 같은 수요일이다. 분명 내일 주말이라서 쉬어야 될 것 같은데 현실은 2일이나 출근 해야 한다. 재택 근무 실현을 아직 머나먼 얘기인 것 인가..?

오늘의 계획

  • 부스트코스 - 머신러닝을 위한 Python
    1) 과제 2
    2) Python for ML
  • Django - 장고걸스 튜토리얼 따라 하기
  • Material-UI 관련 포스트 업로드
  • 영어 - friends ep.3 쉐도윙
  • 헬스장 운동 1시간
  • 독서 - 여행의 이유

학습 내용

itertools.permutation

순열을 만들어 주는 함수

import itertools

print(list(itertools.permutations('ABCD')))
#[('A', 'B', 'C', 'D'), ('A', 'B', 'D', 'C'), ('A', 'C', 'B', 'D'), 
#('A', 'C', 'D', 'B'), ('A', 'D', 'B', 'C'), ('A', 'D', 'C', 'B'), 
#('B', 'A', 'C', 'D'), ('B', 'A', 'D', 'C'), ('B', 'C', 'A', 'D'), 
#('B', 'C', 'D', 'A'), ('B', 'D', 'A', 'C'), ('B', 'D', 'C', 'A'), 
#('C', 'A', 'B', 'D'), ('C', 'A', 'D', 'B'), ('C', 'B', 'A', 'D'), 
#('C', 'B', 'D', 'A'), ('C', 'D', 'A', 'B'), ('C', 'D', 'B', 'A'), 
#('D', 'A', 'B', 'C'), ('D', 'A', 'C', 'B'), ('D', 'B', 'A', 'C'), 
#('D', 'B', 'C', 'A'), ('D', 'C', 'A', 'B'), ('D', 'C', 'B', 'A')]

Reduce

순서대로 선언한 함수를 실행하여 반환 (Padas 에서 유용하게 사용됨)

from functools import reduce
print(reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]))
# 1+2+3+4+5 = 15

유용한 코드

갯수를 나타내는 배열에서 갯수 만큼 리스트 값을 추가해주는 코드

list(oper_permutation.extend([str(index)]*value) for index, value in enumerate(cals) if value>0)

함수를 인덱스로 사용

ops = { "0":(lambda x,y : x+y),"1":(lambda x,y: x-y), "2":(lambda x,y:x*y),"3":(lambda x,y: x//y)}
for i in permutation:
    result.append(reduce(lambda x,y : ops[i.pop()](x,y),nums ))

Python ecosystsem for ML

  • Anaconda
  • Jupyter
  • Numpy
  • pandas
  • Matplotlib

Machine Learning Overview &An understanding of data

Model

예측을 위한 수학 공식, 함수 1차 방정식, 확률 분포, condition rule

Algorithms

어떠한 문제를 풀기 위한 과정, Model을 생성하기 위한 (훈련) 과정

Feature Vector

머신 러닝에서 데이터의 특징을 나타내는 변수

  • table상에서 Column 값
  • 값을 도출할 때, 영향을 주는 특징 값들 ( 날씨, 위치 등등 영향 값들)

    ※ Scalar는 이탤릭체, vector 소문자 볼트, matrix 대문자 볼트
    wTx

Padas

엑셀 처럼 데이터를 사용하고 구조화된 데이터의 처리를 지원하는 라이브러리

Padas + Numpy

선형대수 수식을 표현할 수 있다. 자세한 거 다음 시간에...찡긋

멋진 하루를 보낸 소감문

수,목요일쯤 되면 금요일이라고 착각한다. 이번주는 그 느낌이 강하게 왔다. 오늘 학습한 Pythonic Code로 작성된 문제 답안은 나를 복잡하게 만들었다. 항상 JAVA로 풀어온 알고리즘을 Python 풀려니 계속 for문은 돌리고 싶었고 변수를 선언해 처리해주고 싶었다. 알고리즘까지 능숙히 풀려면 나의 뇌 속 알고리즘을 바꾸어야 하는 부분이라 시간이 걸리겠지만 계속 하다보면 익숙해질것 이라고 믿는다. 나도 언젠가 간결하고 아름다운 코딩을 하고 싶다.

내일 할 일

  • 부스트코스 - 머신러닝을 위한 Python
    1) Data Handling
  • Django - 장고걸스 튜토리얼 따라 하기

0개의 댓글