자기개발/데이터분석 16

[머신러닝] 선형회귀 알고리즘 학습

선형회귀 분석이란? - 어떤 변수들이 한 변수의 원인이 되는지(인과관계) 분석하는 방법z선형회귀 모델이란? y = wx + b - 입력변수 X 들의 선형결합을 통해 출력변수 Y를 표현한 모델 - X 변수와 Y변수 사이의 관계를 수치로 설명 → 미래 반응변수(Y) 값을 예측!! 선형회귀 모델 분류 '독립변수(X)의 수', '독립변수의 척도', '독립종속 변수의 관계' 등에 따라 여러가지 회귀분석 분류가 생기게 됩니다. 선형모델 선형회귀(최소제곱법, OLS, Ordinary Least Squares) : 예측과 훈련 세트에 있는 타겟 y 사이(잔차) 평균제곱오차(MSE)를 최소화하는 최적의 w와 b값 찾기 비용함수 : 손실함수, 모델의 오차를 정의하고 측정하기 위해 사용 잔차(residual, 훈련 오차) ..

[머신러닝] k-NN(k-Nearest Neighbors) 알고리즘 학습 - 1)손글씨 분류

[머신러닝] k-NN(k-Nearest Neighbors) 알고리즘 학습 - 1) 손글씨 분류 서론 k-NN 알고리즘(지도학습)은 가장 간단한 분류(Classification) 머신러닝 알고리즘입니다. 새로운 데이터(input) 예측 할때, train 데이터셋에서 가장 가까운 데이터 포인트(최근접 이웃)을 찾는 방식이죠. 본론 k-NN 알고리즘은 간단한 알고리즘이지만 이미지(영상)에서 글자인식, 영화,음악 등 상품추천에 대한 선호도 예측, 유전자 데이터의 패턴 인식등 여러 분야에 활동될 수 있습니다. 이번 글에서는 k-NN 알고리즘으로 손글씨 이미지 분류하는 예제를 다뤄보려고 합니다. 1. 데이터셋 설명 손글씨 이미지 분류를 위해 MNIST 데이셋을 사용하려고 합니다. 데이터 범위는 0 ~ 9까지이며, ..

[plotly] 시계열 시각화 X축 다루기

[plotly] 시계열 시각화 X축 다루기 서론 python 데이터 시각화를 위한 라이브러리는 대표적으로 matplotlib, seaborn 이 있고, 시각화를 위해 많이 사용하고 있죠. 저는 최근에 plotly 라는 동적 그래프를 그려주는 라이브러리를 알게 되었고 이에 대한 학습을 시작하였습니다. 이번 포스팅에서는 시계열 데이터 시각화 할 때, 중간에 시계열 자료가 비어 있는(?) 경우 matplotlib 과 plotly 시각화 에 대해 소개합니다. 본론 *샘플코드를 맨 아래 제공됩니다. 파이썬 라이브러리를 불러오고요. import pandas as pd import plotly import matplotlib.pyplot as plt import plotly.graph_objects as go 우선,..

[pandas] DataFrame 인덱싱 index 종결 1탄

pandas DataFrame 인덱싱 종결 매우 자주 쓰지만 자주 쓰지 않으면(?) 자주 잊어버리게 되는 데이터프레임 인덱싱 방법에 대해서 이번 글로 종결하고자 합니다. 데이터프레임을 인덱싱하는 방법에는 여러가지 방법이 있습니다. pandas 공식문서를 찾아보면 사용법을 익힐 수 있도록 간단한 예제 코드도 함께 있습니다. 데이터프레임? 데이터프레임(DataFrame) - pandas document pandas.pydata.org/docs/reference/api/pandas.DataFrame.html#pandas.DataFrame 나는 리스트, 딕셔너리 등 자료형만 써왔는데? 최근 데이터프레임을 써보며 느낀 것은 리스트나 딕셔너리보다 코드를 간결하게 짤 수 있다는 것이다. 예제는 캐글 타이타닉 데이터를..

[GIS] 행정동 통계격자지도 데이터 수집 방법

행정동 통계격자지도 데이터 수집 방법 GIS 분석을 할때 시도별 또는 시군구별 지도기반 데이터 분석 기법을 사용하게 되는데요. 데이터 분석 경진대회 경우 분석 데이터로 격자지도가 GeoJson 파일로 제공되기도 합니다. 예를들어 지자체 어린이교통사고 격자지도, 총인구 격자지도 등등과 같이 말이죠. 하지만 격자지도가 제공되지 않는 환경이라면 어떻게 해야할까요? 어디서 손쉽게 격자지도를 구할 수 있을까요? 이번 시간에는 격자지도 데이터 수집과 간단한 시각화에 대해서 다뤄보려고 합니다. 국토지리정보원 www.ngii.go.kr/kor/main.do http://www.ngii.go.kr/kor/main.do www.ngii.go.kr 국토지리정보원 -> [국토정보플랫폼] -> [국토정보맵] -> [통합지도검색..

[공모전] GTX 지하 대심도 철도사업 안전 아이디어 공모전

GTX 지하 대심도 철도사업 안전 아이디어 공모전 대심도 철도사업? 지하 40m 지하공간에 직선 철도노선을 건설해 운영 시간을 일반 교통보다 2~3배 빠르게 하는 지하 철도로, 대심도 지하급행철도라고도 한다. 이는 평균시속 100km/h로 서울과 경기도를 동서/남북으로 연결하여, 완공되면 수도권에서 서울 도심 접근이 획기적으로 개선된다. [네이버 지식백과] 대심도철도 (매일경제, 매경닷컴) 공지사항(필독) 응모(제출)된 작품 및 아이디어의 저작권은 참가자(참가팀)에게 있으며 주최 및 주관 측에 귀속되지 아니함. 단, 주최 및 주관 측이 본 공모전 심사, 홍보 및 시상 등의 목적으로 응모(제출)된 작품 및 아이디어 등을 자료집 및 전단 등으로 복제 및 배포할 수 있음. 주의사항(필독) 타 행사 등에 입상 ..

[ERROR] ParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6

Pandas 데이터 읽기 Error 개방되어 있는 데이터 CSV 파일을 읽다보면 여러가지 에러를 만나게 되는데요. ParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6 위 문제의 원인은 파일포맷과 관련 있습니다. 파일데이터가 저장될때 '\t' 을 구분자(delimiter)로 하여 저장되어 있을 것입니다. 따라서 정상적으로 읽어오기 위해서는 적당한 파라미터 추가를 해야합니다. df = pd.read_csv('blablabla.csv', sep='\t') 조금 더 디테일한 정보는 아래 스택! 참고하세요 stackoverflow.com/questions/18039057/python-pandas-error-tokenizin..

[ERROR] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte

pandas 파일읽기 ERROR pandas 에서 CSV 읽기(read_csv), 엑셀 읽기(read_excel) 등 파일 읽어 들일때, 가끔 아래와 같은 에러를 내뱉는 경우가 있습니다. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte 인코딩의 문제로 아래와 같이 "encoding='cp949'" 또는 "encoding='eun-kr'" 파라미터로 추가함으로써 해결할 수 있습니다. import pandas as pd df = pd.read_csv('blabla.csv', encoding='cp949') import pandas as pd df = pd.read_csv('blabla.csv',..

[정보공유] 데이터 수집 가능한 공공데이터 개방 사이트

업데이트: 2021. 4. 24(토요일) 데이터 수집 데이터 분석을 하기 위해서는 우선 분석할 데이터 수집이 필요합니다. 대표적으로 공공데이터 포털이 있으며, 지차체 또는 기관별 제공하는 포털을 소개합니다. 공공데이터 포털 www.data.go.kr/index.do 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 지자체별 데이터 개방 사이트 서울시 data.seoul.go.kr/ 서울 열린데이터광장 모든 서울시민을 위한 공공데이터 열린데이터광장에서 서울시와 연계 기관이 공개한 공공데이터를 확인하실 수 있습니다. 서울시..

[ERROR] folium RecursionError: maximum recursion depth exceeded in comparison

folium 사용중 만난 Error REST API 로 불러온 데이터를 folium을 통해 마커 시각화하는 코드를 짜보았습니다. 이때, 데이터프레임 'posx', 'posy' 를 통해서 위도, 경도 값을 뿌리게 되는데요. zoom = 12 for lat, lng, value in zip(df['posy'], df['posx'], df['facilityNm']): folium.Marker( location=[lat,lng], popup=str(value), tooltip=str(value), icon=folium.Icon(icon = 'flag', color = 'red') ).add_to(m) m 요상한 에러가 갑자기 나타납니다. 뭐지... 보니까 데이터타입이 문제였습니다. 'posx', 'posy'가 ..