본문 바로가기
728x90

Data Analytics with python114

[Machine Learning] LDA Linear Discriminant Analysis ● 선형 판별 분석법으로 불립니다. ● PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법입니다. ● 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소합니다. ● 지도학습의 분류에서 사용하기 쉽습니다. 즉, 지도학습 이기에 LDA 학습할 입력데이터에 클래스의 결정 값이 있어야 합니다. LDA 변환 시 클래스의 결정 값이 필요합니다. ● 입력 데이터의 결정 값 클래스를 특정 공간상에서 최대한 분리할 수 있는 축을 찾습니다. ● 클래스 간 분산(between-class scatter)과 클래스 내부 분산(within-class scatter)을 사용하여 두 비율을 최대화하는 방식입니다. ● 클래스 간 분산은 최.. 2023. 2. 13.
[ValueError] ValueError: invalid literal for int() with base 10: '449.00' 다음 코드를 돌렸을 때 나오는 문구입니다. data['item_total'] = data['item_total'].astype(str).str.replace('₹', '').astype('int64') ValueError: invalid literal for int() with base 10: '449.00' 파이썬 형 변환을 하는 과정에서 생겨난 오류입니다. 문자형으로 소수점이 포함된 값을 정수형으로 변환하려면 에러가 발생합니다. int는 문자형인 실수형을 받기 위해서 숫자만 남기고 우선 실수형으로 변경 후 다시 정수형으로 변경해야 합니다. data['item_total'] = data['item_total'].fillna(-1) # temp values data['item_total'] = data[.. 2023. 2. 4.
[연관 규칙 데이터 정제] 데이터를 정제하여 apriori 알고리즘을 수행하기 위한 준비 Data Source: https://www.kaggle.com/datasets/rashikrahmanpritom/groceries-dataset-for-market-basket-analysismba?resource=download&select=Groceries+data.csv In [11]: import os import pandas as pd In [12]: os.chdir('C:/Users/KANG/Downloads') os.getcwd() Out[12]: 'C:\\Users\\KANG\\Downloads' In [13]: groceries_df = pd.read_csv('./Groceries data.csv') groceries_df.head() Out[13]: Member_number Date .. 2023. 2. 3.
[연관 규칙 분석] Association_rules 분석 연관 규칙 분석을 위한 데이터 준비 방법 https://knote.tistory.com/197 [연관 규칙 데이터 정제] 데이터를 정제하여 apriori 알고리즘을 수행하기 위한 준비 Data Source: https://www.kaggle.com/datasets/rashikrahmanpritom/groceries-dataset-for-market-basket-analysismba?resource=download&select=Groceries+data.csv In [11]: import os import pandas as pd In [12]: os.chdir('C:/Users/KANG/Downloads') os.getcwd() Out[ knote.tistory.com Data source: https:/.. 2023. 2. 3.
[Python] matplotlib 한글 글꼴 깨짐 현상 한글 글꼴 문제¶ https://financedata.github.io/posts/matplotlib-hangul-for-windows-anaconda.html 폰트 디렉토리 mpl.matplotlib_fname() 해당 파일에 fonts/ttf 에 해당하는 폰트 파일들을 넣어주면 됩니다. 캐쉬 경로 mpl.get_cachedir() 해당 파일을 삭제하고 컴퓨터를 다시시작 및 실행환경 다시 시작하면 변경된 내용을 포함한 fontlist가 다시 생성됩니다. 폰트 변경 현재 적용되고 있는 폰트의 종류와 크기를 출력 print(mpl.rcParams['font.family']) print(mpl.rcParams['font.size']) 전체 글꼴 적용 mpl.rcParams['font.family'] = 'N.. 2023. 2. 3.
[회귀 구현] data : california_housing In [24]: import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from scipy import stats from sklearn.datasets import fetch_california_housing %matplotlib inline # boston data dataset = fetch_california_housing() In [26]: df = pd.DataFrame(dataset.data, columns=dataset.feature_names) df['target'] = dataset.target In [29]: print('california_housing 데이터 세트 크기 :.. 2023. 2. 2.
[Machine Learning][Regression] 회귀 소개 회귀분석은 영국의 통계학자 갈톤(Galton)이 수행한 연구에서 유래했다는 것이 일반론입니다. 갈톤의 연구에 따르면 부모의 키가 아주 크다고 자식의 키가 부모보다 더 커져서 세대를 이어가면서 무한 정 커지는 것이 아니며 그 반대도 마찬가지라는 것입니다. 결국 사람의 키는 평균 키로 회귀하려는 경향을 가진다는 자연의 법칙이 있다는 것입니다. 회귀분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법입니다. 통계학 용어에서 회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭합니다. 머신러닝 회귀 예측은 주어진 피처(독립변수)와 결정 값(종속변수) 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것입니다. 회귀에서 가장 중요한 것은 "회귀.. 2023. 2. 2.
[학습 01] 주택 가격 예측하기 https://knote.tistory.com/185 [Python] 깃허브에 있는 데이터 압축 풀고 읽어오는 방법 데이터 추출하고 불러오기 from github https://docs.python.org/ko/3/library/urllib.request.html https://docs.python.org/ko/3/library/tarfile.html parents: True 옵션 : True 인 경우 상위 path가 없는 경우 새로 생성함, Flase인 경우 knote.tistory.com https://knote.tistory.com/186 [Python] 내가 만든 함수 파일(.py) 임포트 사용법 1) 함수.py파일이 코드 파일과 같은 폴더에 있는 경우 from 내가 만든 함수 파일명 import.. 2023. 2. 1.
[Python] 코딩의 수고를 덜어주는 라이브러리(lux, D-tale, PandasGUI) lux 데이터 탐색을 빠르고 쉽게 도와주는 라이브러리 https://pypi.org/project/lux/ In [ ]: import sys # print(sys.executable) # print(sys.path) In [ ]: # !pip install lux-api !jupyter nbextension install --py luxwidget !jupyter nbextension enable --py luxwidget In [ ]: import pandas as pd import lux df = pd.read_csv("https://raw.githubusercontent.com/lux-org/lux-datasets/master/data/college.csv") df D-tale 통계 툴인 SAS를 .. 2023. 1. 31.
[Python] 터미널에 모듈을 설치해도 jupyter notebook에서 모듈 설치가 안되는 경우 가상 환경을 생성하였을 경우 발생할 수 있는 문제입니다. 현재 가상 환경에서 실행 중인 python과 메인 OS 플랫폼에 설치된 python이 서로 다르기 때문에 제대로 설치가 되지 않는 문제라 생각합니다. Solution 1. 경로 비교 하기 Terminal 창 which python 터미널에서 현재 동작 중인 python 경로를 확인 시켜 줍니다. jupyter notebook import sys print(sys.executable) 두 경로가 일치하지 않는 경우 아무리 pip install로 모듈을 설치해도 jupyter notebook에서 사용되지 않습니다. 2. modlue설치하는 방법 pip에서 모듈을 설치할 때 경로를 명시해 주어야 합니다. 터미널 창에서 C:\ProgramData\Anac.. 2023. 1. 31.
[Python] 라이브러리 수동 설치 라이브러리 설치 https://pypi.org/ PyPI · The Python Package Index The Python Package Index (PyPI) is a repository of software for the Python programming language. pypi.org 방법1: 압축파일 C:\Users\사용자\AppData\Local\Programs\Python\Python310\Lib\site-packages에 압축 해제한 폴더 옮겨놓기 Anaconda Prompt 관리자 권한 실행 cd C:\Users\사용자\AppData\Local\Programs\Python\Python310\Lib\site-packages\라이브러리 폴더명 python setup.py install 방법.. 2023. 1. 31.
[Python] 내가 만든 함수 파일(.py) 임포트 사용법 1) 함수.py파일이 코드 파일과 같은 폴더에 있는 경우 from 내가 만든 함수 파일명 import 함수명 2) 함수.py파일이 다른 폴더에 있는 경우 path추가하기 : 원하는 물리적 위치의 파일을 어디서든지 사용하려면 PATH에 경로를 저장해야합니다. import sys sys.path.append('경로/') from 내가 만든 함수 파일명 import 함수명 기타 sys 관리 명령어 import sys sys.path # path 추가 및 삭제 sys.path.append('C:\\python') sys.path.pop() # 맨뒤의 path 지우기 / 실행 안 함 sys.path.remove('C:\\python') # 라이브러리 삭제 del 라이브러리명(내가 만든 py명) 2023. 1. 31.
[Python] 깃허브에 있는 데이터 압축 풀고 읽어오는 방법 데이터 추출하고 불러오기 from github https://docs.python.org/ko/3/library/urllib.request.html https://docs.python.org/ko/3/library/tarfile.html parents: True 옵션 : True 인 경우 상위 path가 없는 경우 새로 생성함, Flase인 경우 상위 path가 없으면 FileNotFountError를 발생함 exist_ok = True 옵션 : 해당 디렉토리가 기존에 존재하면 에러발생 없이 넘어가고, 없을 경우에만 생성합니다. In [27]: from pathlib import Path import pandas as pd import tarfile import urllib.request def load.. 2023. 1. 31.
[python] 윈도우에서 작업 환경 설정하기 > 관리자 권한 모드 virtualenv 모듈 설치 pip install virtualenv > 새 cmd 창에서 실행 폴더 생성 (선택 사항) mkdir 폴더명 폴더 위치 확인 dir 가상환경 만들 폴더 위치 cd .\폴더명\ 가상환경 생성 virtualenv 이름 예시) virtualenv myenv # 혹은 python -m venv 가상환경 폴더명 환경 생성 확인 dir 가상환경 실행 .\가상환경 폴더명\Scripts\activate 예시) .\myenv\Scripts\activate 설치된 항목 확인 pip list 가상환경 종료 deactivate 가상환경 삭제 rmdir /s 가상환경 폴더명 작업 패키지 설치 pip3 install --upgrade jupyter matplotlib nump.. 2023. 1. 30.
공개된 데이터 셋 사이트 UC 얼바인 머신러닝 저장소 - https://archive.ics.uci.edu/ml/index.php UCI Machine Learning Repository Welcome to the UC Irvine Machine Learning Repository! We currently maintain 622 data sets as a service to the machine learning community. You may view all data sets through our searchable interface. For a general overview of the Repository, please visit ou archive.ics.uci.edu - https://archive-beta.ics.uci.. 2023. 1. 30.
[Machine Learning] 머신 러닝 개괄 1. 머신러닝이란 머신러닝은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야이다. - Arthur Samuel (아서 새뮤얼), 1959 training set (훈련 세트) : 시스템이 학습하는 데 사용하는 샘플입니다. training instance(훈련 사례) or Sample(샘플) : 각 훈련 데이터를 칭합니다. 2. 머신러닝 작업의 사례 ● 제품 이미지 분석하여 자동으로 분류 - CNN(합성곱 신경망) ● 폐암 진단하기 : CNN을 사용해 픽셀을 분류 ● 자동으로 뉴스 기사를 분류 : 텍스트 분류로 RNN(순환 신경망), CNN, Transformer ● 회사의 내년도 수익을 예측 : Regression (linear or polynomial), 회귀 SVM, 회귀 R.. 2023. 1. 30.
[일변량 정상 시계열 분석] Data Source: https://www.kaggle.com/datasets/robertritz/ub-meat-prices?resource=download Time Series¶ 시간 데이터 : 특정 간격을 갖는 시간이 필요합니다.(Lag: 시간의 간격) Lag데이터 에서 Data의 경향성을 찾아야 합니다. 일변량 정상 시계열 - ARIMA 시계열 성분 특징 ① Trend (추세) ② Seasonality (계절성) ③ Cycle (주기) ④ Noise (잡음) → White Noise 평균과 분산이 변하지 않아 분석가능한 데이터 시계열 분석은 외부적인 변동 요인에 취약하기에 모델이 불확실할 수 있다. In [1]: import pandas as pd import numpy as np import s.. 2023. 1. 30.
[eumerate()] 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 받습니다. 인덱스와 값을 순차적으로 함께 리턴한다는 특징이 있습니다. In [1]: test_input = ['a', 'b', 'c', 'd', 'e'] for index, value in enumerate(test_input): # 입력의 순서대로 0부터 인덱스를 부여함. print("value : {}, index: {}".format(value, index)) value : a, index: 0 value : b, index: 1 value : c, index: 2 value : d, index: 3 value : e, index: 4 In [2]: test_input = ['a', 'b', 'c', .. 2023. 1. 29.
[정규 표현식] regex 2편 정규 표현식 심화 그루핑 문자열이 계속해서 반복되는지 조사하는 정규식을 작성하고 싶은 경우 메타 문자 ( )로 그룹을 만들어 줍니다. 그룹이 중첩되어 있는 경우는 바깥쪽부터 시작하여 안쪽으로 들어갈수록 인덱스가 증가한다. 예시 : (ABC)+ → ABC 문자열이 최소 1번 이상 계속해서 반복되는 여부 보통 그루핑은 반복되는 문자열을 찾을 때 사용합니다. 즉, 매치된 문자열 중에서 특정 부분의 문자열만 뽑아내기 위함이다. 실전에서는 이름 + " " + 전화번호 형태에서 '이름'만 뽑아내려는 경우 p = re.compile(r" (\w+) # 이름 \s+ # " " \d+[-]\d+[-]\d+ # 전화번호 ", re.VERBOSE) 특징: 1) Backreferences 그루핑은 문자열 재참조가 가능합니다... 2023. 1. 28.
[정규 표현식] regex 1편 정규 표현식 정규 표현식 : 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 정규표현식은 문자열의 검색과 치환을 위해 지원하고 있습니다. 정규 표현식은 메타 문자를 사용하여 특별한 의미를 부여 합니다. 메타 문자 : 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자 . ^ $ * + ? { } [ ] \ | ( ) 메타 문자 1 : +, * , [ ], {} 특징 : 메타 문자의 매치가 진행될 때 현재 매치되고 있는 문자열의 위치가 변경 됩니다. (문자열을 소비시키는 메타문자) ▶ character class (문자 클래스) 기호 : [ ] 의미 : 대괄호 사이의 문자들과 매치한다. 예시 : [abc] → "a, b, c" 중 한 개의 문자와 매치하라는 의미입니다. [a-c.. 2023. 1. 28.
728x90