본문 바로가기

BE/머신러닝(ML)

[머신러닝] Jupyter Notebook(Anaconda3) 설치 및 데이터 처리(pandas) 기본 코드

 

 

 

 

 

환경 세팅

 

jupyter notebook 설치 - 아나콘다에서 제공하는 하나의 툴

※ 파이썬 설치가 되어있어야 함 ※

 

기존에 설치되어 있던 anaconda3 를 삭제하고 진행

기존 설치 Anaconda 삭제

 

Anaconda 다운로드를 위해 접속

 

 

Distribution | Anaconda

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

Skip registration 클릭

 

installer 다운로드

 

data_set 다운로드

data_set-master.zip
2.34MB

 

출처 : https://github.com/ChoHeeWon00/data_set

 

GitHub - ChoHeeWon00/data_set

Contribute to ChoHeeWon00/data_set development by creating an account on GitHub.

github.com

 

파이썬 기본 문법

arr = [10, 20, "안녕"];

print(arr);

print(type(arr));

for i in arr :
    print(i);

print("=" * 20);
dic = {};
dic['num'] = "아무거나";
print(dic);

for k, v in dic.items():
    print(k, " : ", v);

arr = 100;
print(type(arr));

while arr < 103:
    arr += 1;
    print( arr );


for i in range(5):
    print(i);


for i in range(1,5):
    print(i);


bool = True
if bool == True:
    print("같다");

bool = 100;
if bool > 90:
    print("90보다 크다")
elif bool > 80:
    print("80보다 크다")
else:
    print("그 외의 값")

def test(a, b, c):
    print("test 호출");
    arr = [10, 20, 30];
    arr.append(a);
    arr.append(b);
    arr.append(c);
    return arr;

list_num = test(10, 1.123, "안녕");
print(list_num);

 

Anaconda3 설치

Next > I Agree > Just Me(recommended) 체크 후 Next > Next > Install

 

깃허브에서 받은 zip 파일 압축해제 및 디렉토리 이름 data_set 으로 변경

 

- Dataset 구하는 사이트 -

 

Find Open Datasets and Machine Learning Projects | Kaggle

Download Open Datasets on 1000s of Projects + Share Projects on One Platform. Explore Popular Topics Like Government, Sports, Medicine, Fintech, Food, More. Flexible Data Ingestion.

www.kaggle.com

 

Dataset 구하는 사이트 - 캐글

 

Jupyter Notebook 검색해서 실행 ( anaconda3 가 설치되었다면 검색될 것임 )

 

Jupyter Notebook 이 실행된 모습 ( 이제부터 축약해서 jupyter 라고 칭하겠음 )

 

Jupyter 기본 경로 : C 드라이브 > 사용자 > 사용중인 home 디렉토리

 

기본 경로를 변경할 것임

 

 

 

메모장으로 열기

 

workspaces_dir 에 내가 만든 폴더를 설정

 

Jupyter Notebook 마우스 우측 클릭 > 속성 > 바로가기 탭에서 대상의 위치를 내가 만든 디렉토리로 변경 > 적용 > 확인 후 Jupyter 재시작

 

홈 디렉토리가 변경되었음

 

마우스 우측클릭하여 새 폴더 생성 및 폴더 더블클릭하여 접속

 

New > Notebook 을 클릭하여 새로운 파일 추가

 

리눅스의 쉘과 사용법이 비슷.... ( esc 누른 뒤 m 을 누르면 해당 셀이 파이썬 코드를 작성하는 부분이 아닌 Markdown 용도로 바뀐다 - 설명은 Mardown 으로 바꿔서 작성하였음 ) > pandas 라이브러리를 가져와 pd 이름으로 별칭하고 해당 라이브러리 내장 함수인 read_csv 를 사용하여 1.pandas.csv 파일을 읽어서 출력함

 

특정 자료만 뽑아오는 방법 2가지

 

데이터 프레임 형태로 값을 가져오는 방법 : 대괄호 2개로 묶어서 출력하기

 

데이터 슬라이싱 : 데이터는 0번부터 시작.... 1부터 3번 이전까지의 데이터를 슬라이싱, 처음부터 3번 전까지의 데이터를 슬라이싱, 1번부터 끝번까지 데이터를 슬라이싱

 

loc 함수를 사용하여 1 행부터 3 행까지 가져올건데 name 컬럼의 값만 가져오겠다

 

데이터 프레임 형태로 출력

 

아래와 같이 표현할 수도 있음

 

여러 컬럼의 값도 꺼내올 수 있음

 

모든 행의 name ~ grade 컬럼의 값을 슬라이싱하여 가져오겠다

 

컬럼 명시를 생략하여 모든 컬럼에 대한 값을 가져올 수도 있음

 

grade 의 값이 A 이면 true 출력, 아니면 false 출력..... > 조건식을 넣어서 grade 컬럼의 값이 A 인 데이터만 출력할 수 있다

 

data 를 drop ( drop 을 사용한 값을 다시 자기 자신에게 대입해줘야 적용됨, 실제로 데이터가 삭제된 것은 아니기 때문 )

 

inplace 옵션을 사용해 바로 자기 자신에게 적용시킬 수도 있다

 

axis 를 사용해서 데이터를 drop

 

데이터 여러 방식으로 꺼내와보기

 

컬럼과 값, 자료형 꺼내오기

 

isin() 을 사용하여 데이터 중 특정 값을 포함한 데이터를 출력 > index 를 변경

 

변경한 index 값으로도 값을 출력할 수 있다

 

그냥 저장하게 되면 ipynb 확장자로 저장되는데 이 파일은 Jupyter 를 사용해야 읽을 수 있는 파일이므로 필기같은 내용은 HTML 파일이나 PDF 파일로 변환하여 저장할 수 있다

 

1.pandas 사용법.html
0.34MB

 

내용 정리 파일

 

 

 

 

 

 

 

 

 

 

실습 예제

1.Quiz.pdf
1.11MB

 

1.Quiz-풀이.pdf
1.18MB

 

비밀번호는 댓글

 

 

 

 

 

예제 풀이

example1.html
0.29MB

 

 

 

 

 

 

 

 

 

 

 


 

머신러닝 예시

데이터의 전처리 과정이 필요하나, 현재 생략된 상태

( 전처리 과정을 진행하기 위해 위의 기본 코드들을 학습해야 한다 )

 

Survived : 생존 여부

Pclass : 티켓 클래스 ( 1등석, 2등석, 3등석 )

Sex : 성별

Age : 나이

SibSp : 동반한 형재자매와 배우자의 수

Parch : 동반한 부모, 자식의 수

Fare : 티켓의 요금

표본이 들어있는 csv 파일을 불러온 뒤 컬럼 값을 얻고자 하는 값, 속성(변수) 값으로 나눠서 X 와 y 변수로 저장한다

 

데이터 표본을 나눠주는 sklearn.model_selection 에서 제공하는 train_test_split 을 import 한 뒤에 전체 표본 중 80% 는 머신 러닝에 사용하고 나머지 20% 의 데이터는 러닝된 머신의 테스트 용도로 사용한다 ( 정확성 측정 ) > .shape 를 통해 데이터의 갯수를 확인할 수 있다 > sklearn.ensemble 에서 제공하는 RandomForestClassifier 을 import 한 뒤 r 이라는 변수에 RandomForestClassifier() 를 담아 .fit() 을 사용하여 훈련시킬 알고리즘의 test 값을 넣어준다 > 그 후 테스트용으로 분리시켰던 20% 의 데이터를 .score() 에 담아 예측에 대한 정답률이 어느정도 나오는지 확인한다 > 확인 결과 : 78.7709...%

 

.predict() 를 통해 결과 값을 예측하여 출력하게 만들 수도 있으며 해당 값을 y_test( 살았는지? 죽었는지? ) 와 직접 비교해볼 수도 있다. > 또한 임의의 값을 집어넣어 러닝된 머신에 값을 .predict 로 집어넣어 결과 값을 받아 처리해볼 수도 있다

 


 

728x90