본문 바로가기

인공지능50

[Machine Learning] 성능측정 confusion_matrix() 📝머신러닝 인공지능 confusion_matrix 성능측정 from sklearn.metrics import confusion_matrix, accuracy_score confusion_matrix(실제값, 예측값) : 실제값과 예측값을 행, 열로 셋팅해서 결과값 반환 accuracy_score(실제값, 예측값) : 정확도값 반환 # 실제값, 예측값을 입력하면 결과값 반환 confusion_matrix(y_test, y_pred) # 실제값, 예측값 입력하면 결과값(정확도값) 반환 accuracy_score(y_test, y_pred) classification_report() # 실제값, 예측값 입력 print (classification_report(y_test, y_pred)) 시각화는 heatma.. 2022. 12. 2.
[Machine Learning] 분류예측 LogisticRegression 📝머신러닝 로지스틱 리그레이션 모델링하기 from sklearn.linear_model import LogisticRegression LogisticRegression() # 변수에 저장해서 사용한다 classifier = LogisticRegression(random_state=1) # random_state= 시드값 # 학습용과 테스트용으로 나눴던 데이터중 학습용 데이터를 입력해 학습시킨다 classifier.fit(X_train, y_train) classifier.coef_ : 셋팅된 a값을 반환 classifier.intercept_ : 셋팅된 b값을 반환 이렇게 학습이 끝나면 이 인공지능을 테스트 해봐야 한다(테스트용 데이터인 X_test로 테스트) classifier.predict(테스트값 .. 2022. 12. 1.
[Machine Learning] LinearRegression 인공지능과 변수를 파일로 저장하기 joblib.dump() 📝머신러닝 리니어 리그레이션 인공지능과 변수를 파일로 저장하기 import joblib joblib.dump() : 저장할 변수, 저장할 파일명을 입력하면 해당 변수 데이터를 저장해준다 # 인공지능 변수, 저장할 파일명 입력.피클 joblib.dump(regressor, 'regressor.pkl') # 예측에 필요한 변수, 저장할 파일명 입력.피클 joblib.dump(ct, 'ct.pkl') 2022. 12. 1.
[Machine Learning] LinearRegression 인공지능 실제 예측해보기 📝머신러닝 리니어 리그레이션으로 만든 인공지능 실제 예측해보기 예측할 값 데이터를 df 컬럼의 순서대로 입력(예측할 값 제외)한 리스트를 넘파이 어레이로 생성한다 생성한 데이터는 1차원 데이터이기 때문에 2차원으로 변경한다 reshape 인공지능 만들때 기존에 만들었던 변수 ct에 transform() 함수를 사용해 문자열을 숫자로 바꿔준다 만들어두었던 regressor 변수에 predict() 함수를 이용해 값을 예측한다 # 예측할 값에 필요한 데이터를 넘파이 어레이로 생성후 변수에 저장 >>> new_data = np.array([130000, 150000, 400000, 'Florida']) # 생성한 변수를 2차원 데이터로 변경 >>> new_data = new_data.reshape(1,4) #.. 2022. 12. 1.
[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.
[데이터 전처리] 인공지능 만들기 전 준비과정 데이터 전처리하기 📝인공지능 만들기 전 데이터 처리하기 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.