ch0nny_log

[빅데이터분석] Python_52. 판다스 머신러닝2 (의사결정트리, 랜덤 포레스트) 본문

빅데이터 분석(with 아이티윌)/python

[빅데이터분석] Python_52. 판다스 머신러닝2 (의사결정트리, 랜덤 포레스트)

chonny 2024. 9. 5. 13:43

 

분류 from sklearn.neural_network import MLPRegressor
수치예측 from sklearn .neural_network import MLPClassfier


-> 분류모델: knn, 나이브베이즈, 의사결정트리, 랜덤포레스트, 신경망, 서포트 백터

# 랜덤포레스트 모델 생성 (시험장에갈때 꼭 외워가야하는 코드)

# 진행순서
#1. 데이터 로드
import pandas  as  pd
iris = pd.read_csv("c:\\data\\iris2.csv")
iris.head()
#2. 결측치 확인
iris.isnull().sum()

#3. 종속변수와 독립변수 분리
x = iris.iloc[ : , :4 ]
y = iris.iloc[ : , 4 ]

#4. 데이터 정규화
from  sklearn.preprocessing  import  MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(x) 

x_scaled  = scaler.transform(x)

#5. 훈련 데이터와 테스트 데이터로 분리 ( 훈련과 테스트 9:1 )
from sklearn.model_selection  import  train_test_split

x_train, x_test, y_train, y_test  = train_test_split(x_scaled, y, test_size=0.1, random_state=1)

#6. 랜덤 포레스트 모델 생성 

# print(help('sklearn.ensemble')) <-- 이것을 외워가세요 !

from sklearn.ensemble  import  RandomForestClassifier
model = RandomForestClassifier( n_estimators=5, random_state=3)

#설명 : n_estimators 로 의사결정 나무의 갯수 지정

#7. 모델 훈련
model.fit(x_train, y_train)

#8. 모델 예측
result = model.predict(x_test)

#9. 모델 평가
#from sklearn.metrics import accuracy_score
#accuracy_score( y_test, result )
sum( y_test == result )/ len(y_test) * 100

 

 

 


 

와인의 품질을 분류하는 인공신경망 만들기

 

#1. 데이터 로드
import pandas as pd

wine = pd.read_csv('c:\\data\\wine2.csv')
wine.head()

#2. 결측치 확인
wine.isnull().sum()

#3. 독립변수와 종속변수 분리
x = wine.iloc[ : , 1: ] # 독립변수
y = wine.iloc[ : , 0  ] # 종속변수

from  sklearn.preprocessing  import  MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(x)

x2 = scaler.transform(x)
x2

 

#4. 훈련과 테스트 분리 (9:1)
from  sklearn.model_selection  import  train_test_split

x_train, x_test, y_train, y_test = train_test_split( x2, y, test_size=0.1,\
                                                    random_state=1)

# print(x_train.shape)  # (159, 13)
# print(x_test.shape )  # (18, 13)
# print(y_train.shape)  # (159,)
# print(y_test.shape)   # (18,)
#5. 모델 생성
from  sklearn.neural_network  import MLPClassifier
model = MLPClassifier(random_state =1)

#6. 모델 훈련
model.fit(x_train, y_train)

#7. 모델 예측
result = model.predict(x_test)
result
#8. 모델 평가
sum(result == y_test) / len(y_test) * 100

 

문제.  iris2.csv 의 아이리스 꽃의 품종을 분류하는 인공신경망 모델을생성하고 정확도를 확인하시오 !

#1. 데이터 로드
import pandas  as  pd
wine = pd.read_csv("c:\\data\\iris2.csv")
#wine.head()
#2. 결측치 확인
iris.isnull().sum()
#3. 정규화 작업
# 독립변수와 종속변수 분리
x = iris.iloc[ : , :4 ] # 독립변수
y = iris.iloc[ : , 4  ] # 종속변수

from  sklearn.preprocessing  import  MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(x)

x2 = scaler.transform(x)
x2
#4. 훈련과 테스트 분리 (9:1)
from  sklearn.model_selection  import  train_test_split

x_train, x_test, y_train, y_test = train_test_split( x2, y, test_size=0.1,\
                                                    random_state=1)

# print(x_train.shape)  # (159, 13)
# print(x_test.shape )  # (18, 13)
# print(y_train.shape)  # (159,)
# print(y_test.shape)   # (18,)

#5. 모델 생성
from  sklearn.neural_network  import MLPClassifier
model = MLPClassifier(hidden_layer_sizes =(100,200),random_state=1)
#6. 모델 훈련
model.fit(x_train, y_train)

#7. 모델 예측
result = model.predict(x_test)
result
#8. 모델 평가
sum(result == y_test) / len(y_test) * 100