인공지능 26

[머신러닝2] 범주형 변수예측: Logistic Regression

Logistic Regression 리그레이션(회귀분석) 이지만 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것이다. 사건발생의 가능성을 예측하는데 사용하며 확률의 문제이기 때문에 일반회귀분석과 다르게 값은 0,1로 예측을 해준다고 생각하면 된다. 그렇다면 나이와 연봉으로 물건을 구매할지 안할지 분류를 해보자 사용할 데이터프레임은 성별, 나이, 연봉, 구매유무로 나뉜 데이터로 유도 마지막 컬럼인 구매유무는 구매 했는지 안했는지 값이니까 0과 1이다 트레이닝 기본 1. nan확인 2.x와y분리 3.문자열이 있다면 숫자로 바궈주기 4.피셔츠케일링을 통해 값 맞춰주기 5.트레이닝 / 테스트 셋으로 분리시키기 -----------------------------------------..

[머신러닝1] 수치예측: regression

regression regression은 y=ax+b라는 직선 방정식으로 봤을때 x와 y값의 데이터를 학습시켜서 a와 b를 찾아 내는것이 이 머신러닝의 목표 직선의 방정식을 컴퓨터가 계산하여 직선의 기울기와 Y절편을 구해줌 계수를 찾아내고 예측치와 실제값의 오차를 줄여나가는것 예를 들면 y가 연봉 x가 연차라고 생각하면 편하다. 그럼 이러한 데이터들을 모아 연차별 연봉을예측함 이런식으로 어떤 데이터가 예측된 직선에 가까운 값을 찾아준다 벌어진 오차만큼의 간격을 많은 데이터를 통해 줄여나가는것 연차별 연봉데이터가 있을때 특정연차의 연봉을 예상하기 x와 y데이터로 분리 할때 내가 알고싶은 값이 연봉이니까 연봉이 y X = df.loc[ : ,'YearsExperience' ].to_frame() 여기서 to..

[머신러닝0] 머신러닝의 기초(총정리)

머신러닝이란 데이터를 이용하여 데이터 특성과 패턴을 학습하여 그결과 밭으로 미지의 데이터에 대한 결과값을 예측하는것 머신러닝의 종류도 다양하며 용도나 상황에 따라 이용하는 툴도 정말 다양하다 먼저 머신러닝의 큰 갈래에는 Supervised러닝과 unsupervised 러닝이 있는데 데이터의 결과값을 도출해내느냐, 데이터를 분류를 하느냐라고 생각하면 편하다. 먼저 supervised 러닝은 새로운 데이터 결과값을 도출해내기 위해 당연히 학습시킬 기존데이터가 존재해야하고 이 품종에대한 데이터를 레이블이라고 표현한다. 이 supervised의 러닝엔 또 두가지 유형으로 나뉘어지는데 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법인 regression과 기존에 존재하는 데이..

Dataset traing, test set으로 나누기

어떠한 결과를 도출해내기 위한 머신러닝을 위해 도출해내려는 값y 학습시킬 데이터를 x로 표현하는데 머신러닝을 돌렸을때 학습용만 데이터가 있다면 나중에 결과값이 정확하지 않는경우가 있음 그래서 테스트용과 트레이닝용으로 값을 나눠준다 from sklearn.model_selection import train_test_split 머신러닝을 위해 준비한 데이터는 x값이든 y값이든 트레이닝용 데이터와 테스트용 데이터 준비 train_test_split(X,y, test_size = 0.n , random_state=n) 테스트 사이즈는 0.n => 준비된 데이터의 n% 랜덤 스테이트 n은 random으로 돌릴값 sedd라고 생각 각각 순서대로 첫번째 array는 x데이터 학습 두번째는 x데이터 테스트용 3번째는 ..

문자 수치화,데이터분리: OneHotEncoder

카데고리컬 데이터가 3개이상이면 머신러닝의 효율이 떨어지는데 레이블인코딩은 이런점에서 취약하다 그럴때 사용하는 방식은 원핫 인코딩하는것 원핫 인코딩이란 3개이상의 카테고리컬 데이터를 전부 컬럼화 시켜서 하나의 1과 0으로 표현하는것 가령 컨트리라는 컬럼에 프랑스 독일 스페인이 있다면 France Germany Spain 1 0 0 0 1 0 0 0 1 각 각에 해당되는 데이터에 1을 배당해서 컬럼화 시킴 이런식으로 Hot(1)이 one개 있다는 뜻 원핫인코딩을 위해선 from sklearn.preprocessing import OneHotEncoder from sklearn.compose import ColumnTransformer ColumnTransformer( [ ('인코더이름',OneHotEnco..

문자의 수치화,데이터분리 : LableEncoder

머신러닝을 통한 학습으로 새로운데이터를 얻으려고 할때 기존데이터를 방정식에 대입하기 위해서는 모든데이터가 숫자로 되어 이썽야한다. 문자열 데이터는 숫자로 바궈줘야 하는데 그때 사용하는것이 LableEncoder from sklearn.preprocessing import LabelEncoder sklearn은 아나콘다에 기본으로 설치가 되어있음 이렇게 카테고리컬 데이터가 3개일경우 'France' => 0 'Germany' => 1 'Spain' => 2 정렬해서, 순서대로, 0부터 시작하는 숫자로 바꿔준다 => Label Encoding fit_transform(바꿔줄 컬럼 ) 레이블인코더를 변수에 넣어주고 이때 fit_transform(바꿔줄 컬럼 ) 통해 레이블링을 해줌 from sklearn.pr..