개강 전에 머신러닝의 개념과 데이터 수집 및 분석 방법을 배워보고자 강의를 듣기 시작했다! 강의를 들으면서 정리한 내용을 올려보겠다. 데이터 처리를 위해서 Python을 이용할 것이다!
▶Beautiful soup이라는 라이브러리를 이용해서 스크레이핑 / 크롤링 방법(데이터 처리기술)
▶이 기술을 활용해서 머신러닝에서 활용할 데이터를 수집하는 방법을 하게 됨
# 인공지능, 머신러닝, 딥러닝 개념
▶머신러닝은 인공지능의 한 종류
▶인공 지능 ; 컴퓨터가 인간처럼 생각하는 것
▶머신 러닝 ; 기계가 학습능력이 있어서 인간처럼 컴퓨터가 스스로 학습하는 것
; 기계가 배울수있도록 하기위해서는 주어진 데이터가 있어야 학습할 수 있음
(그 데이터를 추출하기 위한 기술 : 스크레이핑, 크롤링)
; 인공지능의 한 종류/기술
▶딥러닝 ; 인공신경망(인간의 뇌가 동작하는 방식을 이용해서 개발한 학습방법)기술 (딥러닝의 대표기술)
; 머신러닝 기술의 한 종류
▶빅데이터를 수집하여 어떻게 활용하느냐가 중요!!
▶빅데이터의 분석 ;
빅데이터 요소 중 중요한 것을 찾아내어 분류하여 규칙성을 얻어내는 것(수집) + 활용
▶수집 ; SNS에서 쏟아지는 정보 + 정자상거래로부터 상품 정보 + 쿠팡/인터파크 사이트에서 상품 데이터들 수집 + 금융정보(환율,주식) + 이미지 데이터(인스타그램) + 공공기관에서 제공하는 행정 기관 정보 + 위키문서 + 위키피디아(인터넷사전)로부터 데이터 수집 하여 분석할 수 있음.
▶머신러닝 데이터 : 머신러닝에 활용할 목적으로 만들어진 데이터
# 데이터 추출 기술 (2가지)
▶스크레이핑(추출+분석+가공) ; 웹사이트에 있는 특정 정보를 추출하는 기술 (보통 Web스크레이핑)
- 웹에 있는 정보를 편하게 가져올 수 있음.
- 웹사이트는 특정한 문서 형식(HTML)으로 웹에 대한 정보가 공개돼있음.
- 그 html로 돼있는 문서들을 이용해서 정보를 추출.
- 필요에 따라서 데이터베이스에 저장 혹은 가공.
; 웹에는 불필요한 정보들(광고)도 있으므로 제거하고 필요한 정보들만 추출하는 기술
; 그러기 위해서는 사이트 구조를 분석해야함.
; 유용한 정보를 얻으려면 로그인을 해야하는 경우/웹사이트에 대한 URL만 가지고는 유용한 정보를 못 얻는 경우, 제대로 된 스크레이핑을 하기위해서는 로그인을 해서 필요한 웹페이지에 접근하는 기술적인 방법들도 알고 있어야함.
▶크롤링 ; 프로그램(Crawler)(spider라는 프로그램)이 웹 사이트를 정기적(인 시간)으로 돌며 필요한 정보를 추출하는 기술 (최신정보를 유지할 수 있는 기술)
# 파이썬 문법
사칙연산 자동으로 됨.
데이터의 자료형(형식) data type – 숫자(정수, 실수), 문자(문자, 문자열)
데이터 타입 구분해주는 명령어 type()
int 클래스(자료형) 라고 생각하면 됨.
변수 : 데이터를 담을 수 있는 그릇(A라는 메모리공간), 그 데이터는 변할 수 있음.
변수의 자료형에 따라 정수를 담을 수 있는/ 문자를 담을 수 있는 그릇이 따로 정해져있음.
정수와 실수를 곱하면 실수형 타입으로 출력됨.
변수의 자료형을 지정해주지 않아도 데이터를 넣어주면 자동으로 지정됨. =>동적 언어의 특징!
변수의 자료형이 자동으로 설정되기때문에, 변수에 데이터타입이 다른 데이터를 넣어주면 자동 형변환이 이루어짐.
파이썬의 주석처리 #
# 자료구조
▶파이썬에서 사용되는 자료구조(또다른 자료형) ;리스트, 딕셔너리, Bool형
▶파이썬의 기본데이터타입인 정수, 실수, 문자열 이 여러 개가 있을 때, 관리하기 쉽도록 하는 자료구조 : 리스트 | 사전형태의 딕셔너리 | 튜플
▶딥러닝/머신러닝을 다룰 때 자주 사용하게 되기 때문에 정리를 잘해놔야함.
(1)리스트
▶순서대로 데이터를 관리하게 될 때 사용함.
▶aa=[100,200,600]
▶100,200,600 은 원소
▶각각의 위치를 나타내는 인덱스 0,1,2
▶리스트의 길이 구하기 ; len( )
▶리스트의 배열을 삭제 ; aa = [ ]
▶다른 자료형의 리스트도 가능!
▶범위를 지정해서 원하는 리스트 값을 가져올 때 슬라이싱이 이루어져서 마지막 인덱스의 전 값까지 출력됨.
▶ss[0:1] -> ss[0] 출력
▶ss[0:2] -> ss[0],ss[1] 출력
▶ss[:-2] -> 앞에서부터(0생략) 출력하는데, 뒤에 두개 제거 -> ss[0] 출력
▶ss[:3] -> 앞에서부터 ss[2]까지 출력 -> ss[0],ss[1],ss[2] 출력
▶리스트에 원소 추가. 리스트길이가 정해져있기 때문에 무작정 추가할 수 없음. Append( )이용!
▶리스트 중간에 원소 추가. Insert( ) 이용!
▶-를 붙이면 뒤에서부터의 인덱스번호.
▶삭제
(2) 튜플
▶여러 개의 데이터를 담아낼 때 사용.
▶자료구조는 [ ], 튜플은 소괄호 ( )
▶주의 : 원소에 접근할 때에는 대괄호를 이용해야함. 헷갈리지말기!
▶튜플은 리스트 기능에서 제한된 기능만 사용 가능(리스트는 튜플의 기능을 모두 포함하고 있음.)
▶속도가 빠른 장점 -> 데이터를 추가/삭제할 필요 없을 경우에 이용하면 됨.
▶튜플은 튜플 내의 원소를 변경할 수 없음.
(3) 딕셔너리
▶사전 : 키Key,값Value 으로 이루어져 있음.
▶키를 이용해서 데이터를 찾을 수 있음. -> me[‘name’] >>> ‘홍길동’
▶키와 값을 추가할 수 있음.
▶키를 삭제함으로써 키와 값 삭제
▶키값만 출력하고 싶을 때
me.keys()만 하면 dict_keys()까지 출력되는데, 리스트 형식으로 출력되게 하고싶으면 list(me.keys())
▶리스트형태 키값을 변수에 넣어서 만들면 키값에만 접근하는 변수 생성. 데이터도 마찬가지.
(4) boolean형
▶참과 거짓을 나타내는 데이터타입 ‘bool’
▶변수에 not을 붙여주면, True인 변수는 False로, False->True로 출력됨.
▶and / or 연산자
And |
or |
T T = T |
T T = T T F = T F T = T F F = F |
# 조건문 if
▶파이썬에서는 공백문자가 중요함!
▶else는 공백문자를 지우고 쳐야함.
# 반복문 for
▶반복문으로 튜플과 딕셔너리 접근하기
**튜플은 리스트보다 빠르니까 데이터 수정사항 없으면 튜플로 사용하는 것이 성능면에서 효율적.
# range 함수
▶범위를 지정하는 함수
▶ragne(a,b) -> a부터 b-1까지의 범위 지정
▶반복문으로 range범위 출력
▶함수
define이라는 의미로 def 함수명():
명령문
'언어 > Python' 카테고리의 다른 글
Beautiful Soup 사용하여 html 분석하기 (0) | 2020.09.07 |
---|---|
기상청 날씨 데이터 cmd창에서 직접 불러오기 (0) | 2020.09.05 |
기상청 날씨 데이터불러오기 (0) | 2020.09.05 |
파이썬을 이용한 웹데이터 다운로드하기2_urlopen() 함수 (0) | 2020.08.28 |
파이썬을 이용한 웹데이터 다운로드하기1_urlretrieve()함수 (0) | 2020.08.28 |