분류 전체보기317 [Machine Learning] LinearRegression 성능측정 오차(error) 구하기 📝머신러닝 리니어 리그레이션 인공지능 성능측정 오차 구하기 오차(error)의 정의 : 실제값 - 예측값 (똑똑한 인공지능이란, 오차가 적은 것) 오차를 구하고 오차를 제곱한 후에 평균을 구한 값을 mean squared error라고 한다 (줄여서 MSE라고 한다) MSE로 성능평가해서 수치가 작을수록 좋은 인공지능이다 # 실제값 - 예측값 변수로 저장 error = y_test - y_pred # 저장한 변수를 제곱하고 평균을 구한다 (error ** 2).mean() plt.plot을 사용해 실제값과 예측값을 차트로 그리기 plt.plot(y_test.values) plt.plot(y_pred) plt.legend(['Real', 'Pred']) plt.show() 2022. 12. 1. [Machine Learning] 수치예측 LinearRegression 📝머신러닝 리니어 리그레이션 모델링하기 수치 예측은 리니어 리그레이션으로 모델링한다 (리니어 리그레이션은 알아서 피처스케일링 해준다) from sklearn.linear_model import LinearRegression LinearRegression() # 변수에 저장해서 사용한다 regressor = LinearRegression() # 학습용과 테스트용으로 나눴던 데이터중 학습용 데이터를 입력해 학습시킨다 regressor.fit(X_train, y_train) y = ax + b (여러개일경우 y = ax1 + bx2 + cx3 + d 이런식) 인공지능이 랜덤으로 a와 b를 셋팅 fit() 함수를 실행하면 X_train, y_train값을 가지고 오차를 찾아서 오차가 최소가 되도록 a와 b값을 .. 2022. 12. 1. [데이터 전처리] Training/Test용 데이터 나누기 train_test_split() 📝트레이닝용(학습용)과 테스트용 데이터 나누기 from sklearn.model_selection import train_test_split train_test_split() : 데이터셋을 학습용과 테스트용으로 나눠준다 train_test_split(X, y, test_size= 0.2, random_state=3) # test_size= 0.2 테스트에 20% 사용하겠다 # 각 변수에 저장(순서대로 입력) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.2, random_state=3) 2022. 12. 1. [데이터 전처리] 데이터 정규화, 표준화 Feature Scaling 📝데이터 범위 맞추기 피처스케일링 학습시킬때 값의 레인지를 맞춰줘야 정확히 트레이닝 된다 from sklearn.preprocessing import StandardScaler, MinMaxScaler StandardScaler() : 데이터 표준화 # 변수에 저장해서 사용 >>> s_scaler_x = StandardScaler() >>> s_scaler_x.fit_transform(X) MinMaxScaler() : 데이터 정규화(값이 0과 1사이로 나옴) # 변수에 저장해서 사용 >>> m_scaler_x = MinMaxScaler() >>> m_scaler_x.fit_transform(X) 2022. 12. 1. [데이터 전처리] 데이터 레이블 인코딩, 원핫 인코딩 하기 LabelEncoder(), OneHotEncoder() 📝데이터 레이블 인코딩, 원핫 인코딩하기 데이터를 학습하기 위해서는 방정식에 대입되어야 하는데 방정식은 수학식이므로 데이터는 모두 숫자로 되어 있어야 한다 따라서 문자열 데이터를 숫자로 바꿔줘야 한다 그 작업을 레이블 인코딩이라고 한다 import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn.preprocessing import LabelEncoder, OneHotEncoder from sklearn.compose import ColumnTransformer LabelEncoder() : 문자열 데이터를 정렬해서 순서대로 0부터 시작하는 숫자로 바꿔준다 ※ 카테고리컬 데이터의 갯수가 3개 이상일 때는 Label .. 2022. 12. 1. [Python] Pandas 파이썬의 날짜형식 데이터 만들기 pd.date_range() 📝파이썬 판다스 파이썬의 날짜형식 데이터 만들기 pd.date_range('시작날짜', '종료날짜') : 시작 날짜와 종료날짜를 셋팅하면 날짜를 채워준다 # 시작 날짜와 종료날짜를 셋팅하면 1일 단위로 생성 >>> pd.date_range('2022-11-30', '2023-01-01') # 시간까지 입력가능(단위 지정 안할시 시작날짜 시간으로 1일 단위로 생성) >>> pd.date_range('2022-11-30 09:00', '2023-01-01 11:00') # 원하는 단위로 생성할시 freq= 입력 >>> pd.date_range('2022-11-30 09:00', '2023-01-01 11:00', freq= 'H') # 1시간 단위로 생성 2022. 11. 30. [Python] Pandas 문자열 날짜형식으로 변환하기 pd.to_datetime() 📝파이썬 판다스 문자열 데이터 파이썬의 날짜형식으로 변환하기 pd.to_datetime : 문자열로 되어있는 날짜를 파이썬의 날짜형식으로 변환한다 # 문자열 리스트 파이썬의 날짜형식으로 변환하기 >>> pd.to_datetime(날짜 리스트 변수) # 데이터프레임 문자열 날짜 컬럼 파이썬의 날짜형식으로 변환하기 >>> pd.to_datetime(df['컬럼']) >>> pd.to_datetime(df['컬럼']).dt.weekday # 요일 숫자로 출력 >>> pd.to_datetime(df['컬럼']).dt.strftime('%a') # 요일 영문 3글자로 출력 2022. 11. 30. [Python] Pandas DataFrame 피벗테이블 pd.pivot_table() 📝파이썬 판다스 데이터프레임 피벗테이블 만들기 피봇팅 한다 = 컬럼의 값을 인덱스로 만들되, 인덱스를 중복제거하여 유니크(유일)하게 만드는 방법 pd.pivot_table() : 피벗테이블 생성 # 인덱스 파라미터에는 유니크하게 만들고 싶은 컬럼의 이름을 적는다 # (기본값으로 수치 데이터를 다 합쳐서 나눈 평균값으로 표시된다) >>> pd.pivot_table(df, index= ['컬럼']) >>> pd.pivot_table(df, index= ['컬럼1','컬럼2']) # 기본값이 아닌 다른 함수 지정 aggfunc= >>> pd.pivot_table(df, index= ['컬럼'], aggfunc= 함수) >>> pd.pivot_table(df, index= ['컬럼'], aggfunc= [함수,.. 2022. 11. 30. [데이터 전처리] 인공지능 만들기 전 준비과정 데이터 전처리하기 📝인공지능 만들기 전 데이터 처리하기 import numpy as np import matplotlib.pyplot as plt import pandas as pd from imblearn.over_sampling import SMOTE from sklearn.preprocessing import StandardScaler, MinMaxScaler from sklearn.model_selection import train_test_split 1. pd 데이터 가져오기 2. 0이나 다른 데이터로 채워져 있는 값 nan으로 변환 3. 비어있는 데이터 확인(있으면 삭제하거나 채우기) 4. 예측할 컬럼을 y, 예측을 위해 필요한 데이터 X로 지정 5. 문자열 데이터가 있을경우 레이블 인코딩(또는 원핫)으로 문자.. 2022. 11. 30. [Python] Pandas 데이터 프레임, 리스트로 변경하기 to_frame(), to_list() 📝파이썬 판다스 시리즈(1차원데이터)를 데이터프레임, 리스트로 변경하기 to_frame() : 변수 데이터값을 데이터 프레임으로 만들어준다 >>> 시리즈를 저장한 변수.to_frame() >>> df['컬럼'].value_counts().to_frame() to_list() : 변수 데이터값을 리스트로 만들어준다 >>> 시리즈를 저장한 변수.to_list() 2022. 11. 30. 이전 1 ··· 22 23 24 25 26 27 28 ··· 32 다음