[TIL] 20.07.15

우주먼지·2020년 7월 15일
0

TIL

목록 보기
3/28

계획한 일

  • 정처기 chap94
  • velog TIL 작성
  • 정규표현식 공부
  • 온라인 강의 2개 듣기

공부한 것

정규표현식

import re하여 사용한다.
표현하고자 하는 식은 p = re.compile()에 괄호안에 적는다.
<주로 사용하는 기능>

  • '.' : 어떤 문자든 한개
  • '+' : 문자를 원하는 만큼 늘려줌
  • '^' : 시작을 표시
  • '$' : 마지막을 표시
  • [] : 범위나 원하는 문자를 입력(^가 앞에 붙으면 부정)
  • \s : 공백
  • \d : 숫자
  • \w : 숫자+문자
a = 'gy 010-1234-5678 hello@gmail.com Soeul'
p = re.compile(r'(?P<name>.+)\s(>P<phone>\d.+\d.+\d)\s(?P<mail>.+@.+)\s(?P<address>.+)')
p.match(a)
  • .sub('', a) : a를 ''사이의 문자로 바꾼다
  • .group(a) : 정규식에 맞는 모든 문자를 리스트로
  • .findall(a) : 정규식에 맞는 모든 문자를 출력

머신 러닝(scikit-learn 활용)

scikit-learn으로 xor, and 연산 학습해보기를 진행했다.
내가 생각한 방법보다 간단했다.
svm, KNeighborsClassifier을 사용했다.

이를 이용하여 난 or연산을 학습해 보겠다.

import pandas as pd
from sklearn import svm, metrics
from sklearn.neighbors import KNeighborsClassifier
or_input= [ [0, 0, 0], [1, 0, 1], [0, 1, 1], [1, 1, 1]]
or_df = pd.DataFrame(or_input)
or_data = or_df[[0, 1]] # 데이터만 추출
or_label = or_df[2] # 결과만 추출
model = svm.SVC() # svm모델 사용
model.fit(or_data, or_label) # 모델에 데이터와 결과 입력
pre = model.predict(or_data) # 데이터를 넣었을떄의 결과 예측
clf = KNeighborsClassifier(n_neighbors=1)        # KNN모델 사용
clf.fit(or_data, or_label)
pre = clf.predict(or_data)
ac_score = metrics.accuracy_score(xor_label, pre) # 정답율 출력
print("정답률 =", ac_score)

이처럼 코드를 작성한다. 하지만 훈련데이터와 테스트 데이터가 같은 값이라 정답율은 1.0이 나온다. 학습이 잘된건 사실이지만 너무 간단한 모델이라 정확히 알기 힘들다.

시간 복잡도 (Big-O)

알고리즘의 복잡도를 단순화할 때 사용. 최고차항을 제외한 모든 항을 버리고 계산한다.
예를 들어 모든 항의 복잡도를 더해서 5n+1이 나왔을 경우, 복잡도는 O(n)이다.

git

로컬저장소는 내 컴퓨터에서 작업하는 장소이고,
원격 저장소는 로컬에서 만든 버전을 온라인에 업로드하는 곳이다.

로컬 저장소에서는

git init -> git add -> git commit순으로 버전을 관리.

원격저장소에서는

git init -> git add -> git commit -> git push.

원격 저장소를 사용하기 위해서는 깃헙에 로그인이 되어야하며, 새로 만든 레포지토리와

git remote add origin 'address'

를 이용하여 연결해준 후,

git push origin master

로 원격저장소에 업로드해준다.

느낀점

  • 깃에 대한 중요성을 알고 있었지만, 혼자 공부하긴 싫은 느낌이 있었다. 하지만 이렇게 수업을 통해 배우게 되어 다행이고 좋다.
  • 머신러닝이 생각보다 간단하게 이뤄지고, 앞으로 더 어려울 수 있겠지만, 잘 배워서 하던 프로젝트 완성하고 싶다.
  • 정처기가 빨리 끝나서 인공지능에 집중하고 싶다.
profile
안녕하세요 ㅎㅎ

0개의 댓글