관리 메뉴

DeseoDeSeo

[ Machine Learning ] Ex01_and연산_학습하기 본문

Python

[ Machine Learning ] Ex01_and연산_학습하기

deseodeseo 2023. 8. 24. 18:06

< 문제정의 >

- 훈련 데이터와 테스트 데이터 이해하기

- 머신러닝의 일련의 과정 이해하기
- AND연산의 결과를 도출하는 머신러닝 모델 학습하기

데이터 준비
: And 연산 데이터 생성하기

방법1 : 이중리스트[[ ]]

방법2 : 딕셔너리{컬럼명: [ 0,0,,,], 컬럼명:[...],..}

data_dic={'A':[0,0,1,1,1,0,1,0], 
    'B':[0,1,0,1,0,0,1,1],
    'A and B':[0,0,0,1,0,0,1,0]}
df =pd.DataFrame(data_dic)
df

 

데이터 전처리
numpy
             -> 2차원 배열[행] , 배열[행][열], 배열[행,열]
 pandas
               -> 2차원 배열(=DataFrame), DF[행,열]하면 오류 나서
                     DF.loc[행, 열], df.iloc[행, 열]. df.iloc[행:행, 열:열]

 

X: 문제(A컬럼, B컬럼) , Y :답( 실제적인 답, A and B) 분리
X = df.loc[:,'A':'B']

# X = df.loc[:,['A','B']]
# x = df.iloc[:,0:2]
# x = df[['A','B']]

# y = df.iloc[:, ]
Y = df.loc[:,'A and B']
# Y = df['A and B']
# df.iloc[:2]
Y

크기확인
print('문제크기: ',X.shape)
print('답 크기: ',Y.shape)

 

< 훈련용(학습과정), 테스트용(평가 및 예측 과정) 분리 >
# X_train -훈련용 문제(0~5행 접근),  X_test - 테스트용 문제(6~7행 접근)
# Y_train = 훈련용 답 데이터(0~5행 접근),  Y_test = 테스트용 답 데이터(6~7행 접근) Y
X_train =X.iloc[:6]
X_test  =X.iloc[6:]
print(X_train)
print("* \n",X_test)
print('훈련용 데이터: ',X_train.shape, Y_train.shape )
print('테스트용 데이터: ',X_test.shape, Y_test.shape )

Y_train =Y.iloc[:6]
Y_test  =Y.iloc[6:]
print(Y_train)
print("* \n",Y_test)