"랜덤포레스트(with Scikit-learn)"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(새 문서: ==개요== 사이킷런으로 랜덤포레스트를 만들 수 있다. ==랜덤 포레스트== {| class="wikitable" !절차 !설명 !방법 |- |패키지 불러오기 및 데이터...) |
|||
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
사이킷런으로 랜덤포레스트를 만들 수 있다. | 사이킷런으로 랜덤포레스트를 만들 수 있다. | ||
− | == | + | ==방법== |
{| class="wikitable" | {| class="wikitable" | ||
!절차 | !절차 | ||
8번째 줄: | 8번째 줄: | ||
!방법 | !방법 | ||
|- | |- | ||
− | | | + | |데이터 정리 |
− | | | + | |데이터를 불러오고 정리한다. |
|<syntaxhighlight lang="python"> | |<syntaxhighlight lang="python"> | ||
− | + | import pandas as pd | |
+ | |||
+ | file_path = "..path" | ||
+ | data = pd.read_csv(file_path) # 필요한 자료를 불러온다. 혹은 df자료를 만든다. | ||
+ | data = data.dropna(axis=0) # 해당 축에 대해 빈 자료가 있는 행을 버린다. | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |예측할 데이터 선정 | ||
+ | |어떤 값을 예측할지 판단 근거와 분리한다. | ||
+ | |<syntaxhighlight lang="python"> | ||
+ | # 레이블 만들기. | ||
+ | y = data.판단할열 # 판단결과가 될 열을 지정한다.(해당 열을 시리즈로 반환.) | ||
− | + | # 근거데이터 만들기. | |
− | + | features = ['열1', '열2', ...] # 판단할 자료가 될 열을 지정한다. | |
− | + | x = data[features] # 판단근거를 준비한다. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight>데이터프레임을 활용하는 경우.(열 이름을 사용해 분리하는 게 가장 간단하고 직관적이다.) | </syntaxhighlight>데이터프레임을 활용하는 경우.(열 이름을 사용해 분리하는 게 가장 간단하고 직관적이다.) | ||
|- | |- | ||
− | |학습 | + | |패키지 불러오기 및 데이터 입력 |
− | |일반적으로 machine이라는 이름보다, | + | + 학습 |
+ | |데이터를 입력한다. | ||
+ | 일반적으로 machine이라는 이름보다, | ||
classifier의 약자인 clf를 주로 쓴다. | classifier의 약자인 clf를 주로 쓴다. | ||
|<syntaxhighlight lang="python"> | |<syntaxhighlight lang="python"> | ||
− | machine = RandomForestClassifier() # 객체 지정 | + | from sklearn.enssemble import RandomForestClassifier |
− | machine.fit(data, label) # 데이터와 레이블 | + | |
− | </syntaxhighlight> | + | machine = RandomForestClassifier(random_state=13) # 객체 지정 |
− | |} | + | machine.fit(data, label) # 데이터와 레이블 지정하여 학습 실행. |
+ | </syntaxhighlight>machine에 대해 다양한 파라미터가 있는데, 이는 상황에 따라 활용. | ||
+ | |- | ||
+ | |예측 | ||
+ | |판단근거를 넣어주면 예측값을 돌려준다. | ||
+ | |<syntaxhighlight lang="python"> | ||
+ | data_for_predict = df..... # 위에서 만든 판단근거와 동일한 형태의 df를 넣어준다. | ||
+ | machine.predict(data_for_predict) | ||
+ | </syntaxhighlight>가격을 예측할 때 넣는 판단근거의 df는 1행만 넣어주면 되고, 여러 행을 넣으면 리스트로 결과가 반환된다. | ||
+ | |} | ||
[[분류:랜덤포레스트]] | [[분류:랜덤포레스트]] | ||
[[분류:Scikit-learn]] | [[분류:Scikit-learn]] |
2021년 9월 1일 (수) 11:10 판
1 개요
사이킷런으로 랜덤포레스트를 만들 수 있다.
2 방법
절차 | 설명 | 방법 |
---|---|---|
데이터 정리 | 데이터를 불러오고 정리한다. | import pandas as pd
file_path = "..path"
data = pd.read_csv(file_path) # 필요한 자료를 불러온다. 혹은 df자료를 만든다.
data = data.dropna(axis=0) # 해당 축에 대해 빈 자료가 있는 행을 버린다.
|
예측할 데이터 선정 | 어떤 값을 예측할지 판단 근거와 분리한다. | # 레이블 만들기.
y = data.판단할열 # 판단결과가 될 열을 지정한다.(해당 열을 시리즈로 반환.)
# 근거데이터 만들기.
features = ['열1', '열2', ...] # 판단할 자료가 될 열을 지정한다.
x = data[features] # 판단근거를 준비한다.
|
패키지 불러오기 및 데이터 입력
+ 학습 |
데이터를 입력한다.
일반적으로 machine이라는 이름보다, classifier의 약자인 clf를 주로 쓴다. |
from sklearn.enssemble import RandomForestClassifier
machine = RandomForestClassifier(random_state=13) # 객체 지정
machine.fit(data, label) # 데이터와 레이블 지정하여 학습 실행.
|
예측 | 판단근거를 넣어주면 예측값을 돌려준다. | data_for_predict = df..... # 위에서 만든 판단근거와 동일한 형태의 df를 넣어준다.
machine.predict(data_for_predict)
|