반응형

전체 글 121

머신러닝(9) confusionmatrix 값 시각화 하기

confusionmatrix 값을 그냥 가져가서 다른 사람들에게 보여주면 시각성이 매우 떨어지므로 시각화 작업이 필요하다. 이때 쓰는 함수가 히트맵이며 다음과 같이 쓸 수 있다. # 8번에서 했던 confusionmatrix값을 기준으로 잡았다. confusion_matrix(y_test, y_pred) >>> array([[42, 6], [ 8, 24]], dtype=int64) # cm값으로 저장 cm=confusion_matrix(y_test, y_pred) #cm값 히트맵 작성 import seaborn as sb sb.heatmap(data=cm,annot= True, cmap='RdPu',linewidths= 0.7) plt.show() 그럼 이렇게 히트맵으로 시각성이 향상된 confusion..

파이썬 함수 2022.12.02

머신러닝(8) Logistic Regression으로 데이터 예측하기

Logistic Regression이란 0에서 1사이의 값으로 선을 그려 데이터를 예측하는 방법이다. 좀 더 쉽게 그림으로 알아보자 어떤 회사에서 자신들의 홍보메일을 클릭하는 사람들을 알아보았다 생각해보자. 홍보메일을 클릭한 사람들은 클릭했다는 의미로 1이 되고 홍보메일을 클릭하지 않은 사람들은 클릭을 안했다는 의미로 0이된다. 0과 1 이 두개의 데이터가 주를 이루어 그래프를 그렸다 생각하자 선은 그려지지 않겠지만 0과 1의 점들은 많을것이다. 이걸로 예측하는 방법이 바로 Logistic Regression이다. 먼저 저 그래프에 선을 그린다고 해보자 이렇게 선이 그려질것이다 여기서 주목할점은 저 선의 절반을 기준으로 절반 위쪽은 눌렀다 판단하고 아래쪽은 안눌렀다고 판단 할수 있는것이다. 그래프 선에 ..

카테고리 없음 2022.12.01

머신러닝(7) Linear Regression으로 데이터 예측하기

지난 시간까지 데이터 전처리를 진행하는 방법을 알아보았다. Linear Regression으로 머신러닝을 해서 데이터를 예측해보자 우선 데이터를 불러온다. #데이터프레임관련 라이브러리 호출 # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd #데이터를 불러온다. df=pd.read_csv('../data/Salary_Data.csv') df 데이터 전처리 작업을 진행한다. 지난시간에 종합적으로 다뤘므로 생략하고 진행한다. #Traing/Test 셋으로 분리 #분리하는 함수 from sklearn.model_selection import train_test_split #데이터를 분리해서..

머신러닝 2022.12.01

머신러닝(6) 데이터 전처리 종합

지난 시간에 이어서 데이터로 머신러닝을 만들어 보자 머신러닝도 지난시간에 언급했듯 여러가지 방법이 존재하는데 이번 시간엔 LinearRegression을 모델을 세워 예측해보겠다. 조금 수학적인 얘기로 LinearRegression 모델은 직선방정식으로 결과값을 예측하는 방법으로 y=ax+b 위에 식에서 a는 기울기 또는 계수 b는 y절편이 되는데 이 두개의 값으로 그래프에 선을 그릴수 있으며 그래프 상에 점으로 나타나는 분포와 거의 일치 할때까지 컴퓨터가 a,b값을 찾는것이 이 LinearRegression이라고 한다. 이제 한번 절차대로 해보자 우선 데이터를 불러오자 #데이터를 폴더에서 불러온다. df=pd.read_csv('../data/Data.csv') df 머신러닝에 쓸 함수들을 호출 해주자 ..

머신러닝 2022.12.01

머신러닝(4) train,test 모델로 데이터 나누기

데이터를 머신러닝으로 학습시키기 위한 마지막 단계로 데이터를 train,test 모델로 데이터 나눠야 한다. 나누는 방법을 알아보자 #데이터 나누는 함수 호출 from sklearn.model_selection import train_test_split #X,y 데이터를 train,test로 나누는데 test용 데이터는 20%로 한다. train_test_split(X,y,test_size=0.2,random_state= 3) >>>[array([[1. , 0. , 0. , 0.34782609, 0.28571429], [0. , 1. , 0. , 1. , 1. ], [0. , 0. , 1. , 0.47826087, 0.37142857], [0. , 0. , 1. , 0. , 0. ], [1. , 0. ,..

머신러닝 2022.12.01

머신러닝(3) Feature Scaling 피처 스케일링

피처 스케일은 데이터의 범위를 정규화 표준화 할때 사용하는 방법으로 지난 시간에 사용한적이 있지만 이번에 데이터 학습 전처리 과정으로 한번더 언급한다. 피처 스케일링을 하지 않으면 하나의 변수는 오차가 크고, 하나의 변수는 오차가 작으면, 나중에 오차를 수정할때 편중되게 된다. 우선 Standard 스케일러(표준화) 부터 알아보자 # Feature는 컬럼이라는 뜻 #하나의 변수는 오차가 크고, 하나의 변수는 오차가 작으면, 나중에 오차를 수정할때 편중되게 된다. # 따라서 값의 레인지를 맞춰줘야 정확히 트레이닝 된다. #스케일링 함수 import from sklearn.preprocessing import StandardScaler,MinMaxScaler #1. Standard 스케일러(표준화) # X ..

머신러닝 2022.12.01

머신러닝(2) Supervised 러닝 Data Preprocessing과 카테고리컬 데이터

앞에서 많이 언급되었지만 머신러닝을 하기 위해선 컴퓨터가 알수 있는 형태로 데이터를 주고 학습시켜야 한다. 컴퓨터가 알수 있는 형태로 데이터를 가공하는 기법이 Data Preprocessing(데이터 전처리) 과정이다. Supervised 러닝에 Data Preprocessing에는 2가지 방법이 있다. 우선 데이터를 준비한다. #데이터 파일에서 부르기 df=pd.read_csv('../data/Data.csv') df 이제 전처리 하기 전에 NaN데이터를 없앤다. 머신러닝으로 학습할 데이터는 NaN값을 바꿔서 채우기 보다 삭제하는것이 낫다. df=df.dropna() df 학습시킬 데이터와 결과 데이터를 나눈다. 지도 학습에선 전에 언급했듯이 기존의 데이터가 있어야 한다. #대소문자 구별 주의 #학습시..

머신러닝 2022.12.01

머신러닝(1) 머신러닝의 개요

머신러닝이란 컴퓨터에게 학습을 시킴으로써 결과를 예측하거나 새로운 결과를 도출하게 해주는 일종의 기술이다. 머신러닝의 예시는 다음과 같다. 편지봉투에 손으로 쓴 우편번호 숫자 자동 판별 의료 영상 이미지에 기반한, 종양 판단 의심되는 신용카드 거래 감지 블로그 글의 주제 분류 고객들을 취향이 비슷한 그룹으로 묶기 우리 실생활에서도 매우 다양하게 쓰이고 있다. 그렇다면 어떤 기준으로 머신러닝을 해야 할까 가지고 이는 데이터가 내가 원하는 문제의 답을 가지고 있는가? 내 문제를 가장 잘 해결할 수 있는 머신러닝 방법은 무엇인가 문제를 풀기에 충분한 데이터를 모았는가? 머신러닝의 성과를 어떻게 측정할 것인가 어떤 데이터를 어떻게 예측하여 어떤 결과를 불러올것인지 알아야한다. 머신러닝의 종류는 어떻게 될까 머신..

머신러닝 2022.12.01

pandas 라이브러리(15) 표준화와 정규화,차트와 데이터 관계분석

데이터를 비교하려면 기본적으로 노멀라이징 시켜야 데이터끼리 비교할수 있다. 이과정으로 데이터 전처리라고 하는데 이 과정을 거치지 않으면 데이터의 불균형으로 인해 비교가 매우 어려워 질수 있다. 우선 표준화 정규화를 알아보자 표준화 정규화는 데이터 전처리기법중 하나로 표준화는 실수로 데이터를 표현하고 정규화는 0~1사이로 데이터를 표현한다. 우선 데이터를 불러온다. #13번에서 본 서울지역 범죄현황 데이터를 활용한다. crime_anal = pd.read_csv('new_crime_in_Seoul.csv', index_col=0) crime_anal from sklearn import preprocessing # 1. 표준화 방법 from sklearn.preprocessing import Standard..

파이썬 함수 2022.11.30

pandas 라이브러리(14) 피벗 테이블

피벗 테이블은 두 데이터를 합칠때 카테고리컬 데이터처럼 데이터가 중복있다면 데이터의 기준을 세울수 없어 합쳐지지 않을때까 있다. 이러한 상황을 막기 위해 카테고리컬 데이터는 피벗팅으로 중복을 없애고 데이터를 정렬 시킨다. #데이터 부르기(엑셀) #아나콘다 프롬프트에 pip install openpyxl쓰기 df =pd.read_excel('../data/sales-funnel.xlsx') df 데이터를 보면 사람이름과 id명 같은 여러 컬럼이 중복되어 있는것을 확인할 수 있다. 이를 피벗테이블로 정렬한다. # index 파라미터에는, 유니크하게 만들고 싶은 컬럼의 이름을 적는다. #피벗 테이블 함수 .pivot #정렬 컬럼은 'Name' pd.pivot_table( df, index=['Name'] ) ..

카테고리 없음 2022.11.30