본문 바로가기

전체 글

Logistic Regression 실습: 사람이 데이터를 잘 봐야한다. ex) pima-indians-diabetes.csv 파일을 읽어서, 당뇨병을 분류하는 모델을 만드시오. ㄴ 컬럼 정보 Preg=no. of pregnancy Plas=Plasma Pres=blood pressure skin=skin thickness test=insulin test mass=body mass pedi=diabetes pedigree function age=age class=target(diabetes of not, 1:diabetic, 0:not diabetic) - Nan 체크 df.isna().sum() - X와 y 설정 X = df.loc[:, : 'age'] # df.iloc[: , 0: -2+1] y=df['class'] - 이상한 점 발견 ㄴ 혈압이 0이면 죽은 사람 아니냐,.. 더보기
Logistic Regression 로지스틱 회귀: Confusion Matrix, accuracy_score(), classification_report() - 데이터에 피팅하는 것이 리그레션. - 분류의 문제에 리그레이션을 이용해서, 분류를 해보겠다. - 연비예측/연봉 예측이 아닌 다른 부류의 문제. - 데이터 종류에 나이, 이메일 클릭 여부가 있다. 해당 나잇대 사람이 내가 보낸 메일을 클릭 여부를 예측하는 것. - 예측을 두가지로 분류한 것. 클릭할 것인가, 아닌가. supervised -> classification -> logistic regression - 해당 문제는 직선의 방적식으로 해결하기에는 오차가 많이 발생할 것 같더라. 그러니, 곡선으로 하자. - 액션의 0과 1이 바로 레이블이다. - 레이블이 있다는 것은, 수퍼바이저드 러닝이라는 뜻 - 데이터를 피팅해야하니까, 방정식을 만든다. - 이렇게 비슷하게 생긴 함수가 이미 존재한다. 이름은 .. 더보기
linear regression 실습 + 미지수, 상수값: coef_, intercept_ ex) auto-mpg.csv 데이터를 통해, mpg (mile per gallern, 자동차 연비) 를 예측하는 모델을 만드세요. - 카테고리컬 데이터를 각 확인한다. df['yr'].nunique() df.shape df['yr'].unique() df['yr'].value_counts() df['origin'].value_counts() - Nan 확인 df.isna().sum() - X,y 설정 y = df['mpg'] X = df.loc[ : ,'cyl': 'origin'] - mpg를 예측하는 데 자동차 이름(‘name’)은 필요없을 것 같다. 고로 지운다. - 학습용과 테스트용으로 데이터 분리 from sklearn.model_selection import train_test_split X_.. 더보기
Multiple Linear Regression ex) 각각의 피쳐를 분석하여, 어떤 신생 회사의 데이터가 있으면, 그 회사가 얼마의 수익을 낼 지 예측합니다. (투자를 해야 할지 말아야 할지) - 신생회사 데이터를 가지고 있다. - 그 회사의 수익을 보고, 수익을 예측하는 거지, 수치니까. 리그레이션 X값이 많아지니 y = ax1 + bx2 + cx3 + dx4 + e - 컴퓨터는 먼저 랜덤으로 세팅한다. 1. Nan 처리 df.isna().sum() 2. X와 y로 분리 X = df.loc[ : , 'R&D Spend' : 'State'] y = df['Profit'] 3. 원핫 인코딩 - X의 컬럼 중에서 숫자가 아닌 컬럼이 있으니, 숫자로 바꿔준다. X['State'].nunique() sorted(X['State'].unique()) from.. 더보기
Linear Regression Linear Regression ㄴ 수치 예측 ex) 실제 데이터가 있을 때, 경력이 11년인 사람의 샐러리 데이터가 없을 때, 이 사람의 연봉은 얼마나 줘야하는지 예측 - 저런 직선의 방정식을 컴퓨터는 찾는다. ㄴ 기울기와 y절편만 있으면 된다. ㄴ 직선의 방정식을 컴퓨터가 계산하면서 만들어간다. ex) 데이터를 보유했을 경우, 3년에 천만원, 5년에 2천만원, 10년에 8천만원등의 직선 방정식을 잘 찾는 게 학습이 잘 되었다고 한다. 컴퓨터는 눈이 없기 때문에. y=ax+b ㄴ a와 b의 값에 따라 결정된다. 고로, 무한대로 직선을 그릴수 있다. ㄴ 해당 방정식을, 우선적으로 컴퓨터가 랜덤으로 설정한다. 그리고 보유하고 있는 데이터 값으로, 각 x와 y값이 맞는지 확인한다. ㄴ 그 후에는, 기존에 있.. 더보기
Dataset의 Training용과 Test 용: X_train,X_test,y_train,y_test Dataset을 Training용과 Test 용으로 나눈다. X_train,X_test,y_train,y_test = train_test_split(X,y, test_size = 0.2, random_state=3 ) ㄴ 파라미터 순서 바뀌면 안된다. ㄴ 전세계 변수명 규칙이 같다 X_train ㄴ 넘파이 어레이 4개, y_train ㄴ 첫번째 데이터는 1이다. 두번째 데이터는 0이다. X_test: X 시험용 y_test: y 시험용 random_state: ㄴ random.seed()와 random_state는 같은 의미이다. ㄴ 랜덤으로 나오는 패턴을 같다라는 뜻 = 똑같은 환경으로 개발할 수 있다라는 뜻 X_train,X_test, y_train, y_test = train_test_split(X.. 더보기
Nan 처리, 문자열 처리(레이블/원핫 인코딩): LabelEncoder,OneHotEncoder, ColumnTransformer import numpy as np import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('data/Data.csv') ㄴ 이 데이터로 내가 뭘 할건데? ㄴ 위 데이터로 우리 쇼핑몰에서 물건을 살 것 같냐, 못살것 같냐라는 구매여부 인공지능을 만들면 될 것 같다. Nan 처리 ㄴ 학습을 시킬 때, 바로 Nan이 있으면 바로 에러가 나온다. ㄴ 문제를 확인하면, NaN 있는지 확인해야한다. ㄴ 우선적으로 Nan을 처리해야한다. ㄴ 처리방법은: 삭제하거나, 다른 것으로 채우거나. X, Y 데이터 분리: 즉 학습할 변수와 레이블링 변수로 분리 ㄴ 내가 예측하려고 하는 컬럼은 Purchased 컬럼, 그럼 이걸 y, ㄴ 나머지는 x인데, 그리고.. 더보기
[Python] 머신러닝 개념 머신러닝 - 용어 및 설명 참고: https://www.youtube.com/watch?v=KDrys0OnVho 인공지능을 머신러닝 시킨다는 뜻은, -> 컴퓨터가 방정식을 채우고, 컴퓨터가 미지수를 데이터로 찾아가는 과정임. -> 데이터가 적으면 미지수를 어설프게 찾아낸다. -> 데이터가 많으면 미지수의 정교하게 찾아낸다 = 정확도가 올라간다. 인공지능을 왜 만드냐 무언가를 예측하거나, 예측한 것을 이용해서 회사는 수익을 더 극대화 하기 위함. - Supervised, Unsupervised Unsupervised Learning - 그룹정보를 불러오는 방법, 정답은 나도 모르고 컴퓨터도 모른다. - 비슷한 부류/성향의 고객들로 묶어달라. - 컴퓨터가 계산해서, 그룹정보라는 컬럼을 새로 만든다. supe.. 더보기