전체 글319 빅데이터 부트캠프 30일차 - 빅데이터 정의(3V) = Volume(양), Velocity(속도), Variety(다양성) - 실시간 = 리얼타임, 일괄처리 = 배치처리 ※ Batch = 컴퓨터의 데이터 처리 형태의 하나로 처리해야 할 데이터를 일정 기간 또는 일정량 정리하여 처리하는 것 - XML(extensible markup language) = 데이터를 표현하고 교환하기 위해 만든 프로그램 (반정형 데이터) - HTML(Hypertext Markup Language) = 홈페이지 프로그래밍 언어 - 대부분의 프로그래밍 언어는 C(절차적 언어) 기반 - 프로그래밍 언어 유행 = C -> C++ (객체지향이 추가) -> Java -> Python (C++ 기반) - int(4byte=32bit) = -2^16 ~ 2^16-1,.. 2022. 8. 16. 빅데이터 부트캠프 28&29일차 RNN(Recurrent Neural Network, 순환 신경망) - 순서가 있는 데이터를 처리하기 위한 Neural Network - 순서가 있는 데이터는 발생 순서가 중요한 데이터 - 은닉층 활성화 함수로 주로 tanh 사용 (값 = -1~1 사이, 기울기 값 = 0~1 사이) (유사한 sigmoid는 값 = 0~1 사이, 기울기 값 = 0~0.25 사이) - 데이터의 길이가 길어질수록 앞쪽의 데이터 내용이 뒤쪽으로 전달되지 않아 학습 능력이 크게 감소하는 '장기 의존성' 문제가 존재 ex) 입력한 데이터 x와 참고할 데이터 h 간의 거리가 멀면 그 만큼 까먹을 가능성이 높음 - tf.keras.layers.SimpleRNN(units=, return_sequences=출력 시퀀스의 마지막 출력을 .. 2022. 8. 11. 빅데이터 부트캠프 26&27일차 CNN(Convertion Neural Network, 합성곱 신경망) - 입력 데이터의 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱하여 계산 - Convertion(합성곱) = 설정한 가중치의 개수에 따라 한 칸씩 아래로 이동하면서 출력을 만드는 것 - CNN에서는 뉴런을 필터 혹은 커널이라 부름 - Feature map(특성 맵) = 합성곱 계산을 통해 얻은 출력 Padding - 입력 배열의 주위를 가상의 원소로 채우는 것 (주로 0으로) ex) (4,4) 크기의 입력에 1번 패딩 -> (6,6) 크기 (6 = 4+1x2) Pooling - 특성 맵의 가로세로 크기를 줄이는 것 (특성 맵 자체의 개수는 변함X) - Max Pooling = 필터를 적용한 부분의 최대값을 출력 - Aver.. 2022. 8. 10. 빅데이터 부트캠프 25일차 딥러닝(Deep Learning) - 머신러닝의 대표적인 학습법 - 여러 층을 거쳐 점점 추상화 단계로 접어드는 알고리즘 형태 - 패턴을 찾기 위해선, 패턴을 견고하게 만드는 많은 훈련데이터가 필요 ReLU 함수 - ReLU(x) = max(0, x) - 0보다 작은 값을 0으로 강제 - 딥러닝에서 가장 많이 사용됨 - 미분 값이 일정(0 or 1)하여 학습이 효율적 - 구현이 단순하여 매우 빠른 연산 Tensorflow - Google이 2015년에 공개한 머신러닝 오픈소스 Framework - ML 모델을 개발하고 학습시키는 데 도움이 되는 핵심 오픈소스 라이브러리 - TensorFlow는 graph로 연산(computation)을 나타내는 프로그래밍 시스템 - 데이터 = Tensorflow, 데이터.. 2022. 8. 8. 빅데이터 부트캠프 23&24일차 앙상블 - 이미 만든 여러 분류기를 연결하여 더 좋은 분류기를 생성하는 방법 Simple Voting - Hard Voting : 다수의 분류기들 간에 다수결로 최종 클래스를 선정하는 방법 - Soft Voting : 다수의 분류기들이 각각 분류한 확률값들을 기반으로 평균 확률값을 내어서 더 높은 확률값을 갖는 클래스로 최종 선정하는 방법 VotingClassifier - 개별 모델들을 하나의 분류기 객체에 담아 앙상블 학습을 진행 - Regressor 없이 모두 Classifier만 담아져야함 (Regressor 앙상블은 VotingRegressor) - 데이터셋 분리(train_test_split) 전에 실행해야함 - from sklearn.ensemble import VotingClassifier .. 2022. 8. 5. 빅데이터 부트캠프 22일차 Decision Tree - 데이터에 있는 규칙을 학습을 통해 자동으로 찾아 tree 기반의 분류 규칙 적용 - 트리를 어떻게 분할할 것인가가 중요 - tree 깊이가 깊어질수록 결정 tree의 예측 성능이 저하될 수도 있음 - 가급적 최대한 균일한 데이터 세트를 구성할 수 있도록 분할할 수 있게 해야 함 ※ 그래프 구조 - 루트 노드 : 최상위 node - 규칙 노드(Decision Tree) = 규칙 조건 - 리프 노드 = 결정된 클래스값 (맨 마지막) ※ graphic에 표현된 문구들 - gini : value=[]로 주어진 데이터 분포의 지니계수 - samples : 한 규칙에 해당하는 데이터 건수 - value = [] : 클래스 값 기반의 데이터 건수 ※ 지니(gini) 계수 - 경제학에서 불.. 2022. 8. 4. 빅데이터 부트캠프 21일차 StandardScaler (표준화) - 데이터의 특징 스케일링(feature scaling)을 위한 방법 중 하나로 평균이 0, 분산이 1인 값으로 변환 - 중심이 원점에서 떨어져있는 그래프의 중심을 원점으로 옮기는 것 - from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(iris_df) scale = scaler.transform(iris_df) iris_scaled_df = pd.DataFrame(data=scale, columns=iris.feature_names) iris_scaled_df - fit() = 평균과 표준편차 계산 - transform() = 표준화 - fit_transform(.. 2022. 8. 3. 빅데이터 부트캠프 19&20일차 머신러닝의 정의 인공지능의 한 분야로 컴퓨터 스스로 방대한 양의 데이터를 분석하여 미래 혹은 결과를 예측하는 것 머신러닝의 종류 지도학습(Supervised Learning) - 정답이 있는 데이터를 바탕으로 데이터 분류 및 올바른 결과 예측 비지도학습(Unsupervised Learning) - 정답이 없는 데이터를 바탕으로 데이터의 유의미한 패턴 혹은 구조 발견 강화학습(Reinforcement Learning) - 행동에 대한 보상을 통해 누적 보상을 최대화 하는 의사결정 회귀(Regression) - 주어진 연속적인 데이터로부터 변수들 간의 상관관계를 찾아 결과를 예측하는 것 (데이터의 경향성을 하나의 선을 그어서 표현하는 것) - 예측 결과가 연속형 데이터(숫자)일 때 주로 사용 분석(Class.. 2022. 8. 1. 강남구청, 강서구청 따릉이 대여 현황 분석 미니 프로젝트 프로젝트 주제 2021년 따릉이 월별 대여이력 데이터를 바탕으로 ① 서울 시민들의 '강남구청','강서구청' 대여소에서의 월별/시간대별 따릉이 대여 성향 ② '강남구청', '강서구청'에서 따릉이를 대여한 후 가장 많이 반납하는 대여소 top 10 파악 후 지도 및 그래프 등으로 시각화 (데이터 출처 = http://data.seoul.go.kr/dataList/OA-15182/F/1/datasetView.do#, 서울시 열린 데이터 광장) 맡은 역할 1. 7월 및 8월 데이터에서 불필요한 columns 제거 후 대여 대여소가 '강남구청', '강서구청'인 데이터만 추출해 두 데이터(7월,8월)를 통합한 뒤 csv파일로 저장후 팀원에게 전달 https://colab.research.google.com/driv.. 2022. 7. 27. 빅데이터 부트캠프 18일차 folium - 파이썬 지도 시각화 라이브러리 (import folium) - 기본적으로 지도를 생성하며 추가적으로 마커 추가 및 원으로 범위 표기 등을 가능케 함 - folium.Map(location=[위도,경도], zoom_start= 줌설정(1~18), tiles='지도 스타일 설정',width,heigth) -> 지정한 위도와 경도를 기준으로 지도 출력 (우리나라 도시를 기준으로 줌설정은 16~18 정도가 적당) - folium.메서드.add_to(map)를 하면 이미 작성한 map에 해당 메서드로 명령한 요소들을 추가시킬 수 있음 - folium.Marker([위도,경도],popup,tooltip) -> 지정한 위치에 마커를 표시하고 popup으로 마커 클릭시 나올 문구 설정, tooltip으.. 2022. 7. 27. 빅데이터 푸트캠프 17일차 crawling, parsing, scraping - 크롤링(crawling) = 지정한 링크의 데이터를 다 긁어오는 것 - 파싱(parsing) = 문자열데이터를 분석 및 분해하여 목적한 패턴에 맞게 문자열의 구조를 결정하는 것 - 스크래핑(scraping) = 파싱한 데이터에서 필요한 데이터만 가져오는 것 - requests 모듈을 통해 실행(import requests) - requests.get('주소')로 원하는 데이터를 불러옴 - response = requsets.get('주소') response.text로 텍스트 데이터 크롤링 response.content로 바이너리 데이터 크롤링 BeautifulSoup - 받아온 html(크롤링)을 파싱하기 위해 사용하는 패키지 import bs4 bs.. 2022. 7. 26. 빅데이터 부트캠프 16일차 plotly - 인터랙티브 그래프 생성 - dict 형식으로 명령어 작성 (matplotlib,seaborn은 DataFrame 이용) - JSON 데이터 형식으로 저장 - 다양한 방식으로 Export 가능 ※ plotly 기본 세팅 - import plotly.io as pio (Plotly input output) - import plotly.express as px (빠르게 그리는 방법) - px를 주로 사용 - import plotly.graph_objects as go (디테일한 설정) - import plotly.figure_factory as ff (템플릿 불러오기) - from plotly.subplots import make_subplots (subplot 만들기) - from plotl.. 2022. 7. 25. 십진수 변환 bin() = 2진수로 변환 (결과값 앞에 0b도 같이 출력) -> 2진수로 변환한 숫자를 이용하려면 int(bin()[2:])로 적용 oct() = 8진수로 변환 (결과값 앞에 0o도 같이 출력) -> 8진수로 변환한 숫자를 이용하려면 int(oct()[2:])로 적용 hex() = 16진수로 변환 (결과값 앞에 0x도 같이 출력) -> 16진수로 변환한 숫자를 이용하려면 int(hex()[2:])로 적용 셋 다 int가 아닌 str로 출력됨 - 각 진수로 변환한 값을 다시 10진수로 변경하려면 int를 이용 ex) a = bin(10) -> b = int(a, 2) = 10 ex) a = oct(10) -> b = int(a, 8) = 10 ex) a = hex(10) -> b = int(a, 16).. 2022. 7. 24. 빅데이터 부트캠프 15일차 matplotlib - 파이썬의 대표적인 과학 계산용 그래프 라이브러리 (논문에 주로 쓰임) - import matplotlib as mpl = 기본 설정 만지는 용도 - import matplotlib.pyplot as plt = 그래프 그리는 용도 (plt를 주로 사용) - import matplotlib.font_manager as fm = 폰트 관련 용도 plt 기본 메서드 - plt.plot(x,y) = 선그래프 출력 (뒤에 ;입력시 그래프만 출력) ※ plot()안에 그래프 관련 여러 설정 가능 - linestyle = 선스타일 설정 - color = 색깔 설정(앞글자만, 풀네임, RGB 중 하나 입력) - marker = 마커 모양 설정 - label = 그래프 이름 설정 - 각각의 요소를 .. 2022. 7. 22. 빅데이터 부트캠프 14일차 파생변수- df['Score/Age'] = df['Score'] / df['Age']와 같이 기존의 변수를 이용하여 새로운 변수를 만들 수 있음 pandas 기본 메서드- head() = 데이터의 맨 앞 순서의 값을 출력 (기본값은 5줄)- tail() = 데이터의 맨 뒷 순서의 값을 출력 (기본값은 5줄) - info() = 해당 DataFrame에 대한 기본 정보 출력- describe() = 해당 데이터에 대한 기본적인 산술 통계 출력 - unique() = 직접 unique값을 리스트 형식으로 출력- nunique() = NaN을 제외한 unique한 값이 몇개인지 개수로 보여줌(데이터 중복 검사)- value_counts() = 각 value들이 몇개가 있는지 개수 출력- isnull() = 비.. 2022. 7. 21. 이전 1 ··· 16 17 18 19 20 21 22 다음