인공신경망 파이썬 코드 공유


본 포스팅에선 인공신경망 실습 시 사용했던 파이썬 코드를 공유합니다.

import pandas as pd
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler


data= pd.read_csv('C:\\Users\\Desktop\\파일명.csv', engine='python')

In [14]:

cols_to_keep=['churn','나이','성별','방문빈도','총구매금액','고객기간','결혼여부']
data1=data[cols_to_keep]
data1

Out[14]:

churn나이성별방문빈도총구매금액고객기간결혼여부
01571123750011580
11501161085012060
2139111900018800
314911950013480
4142035890009770
5062166346009080
6146117790007990
7139015800015260
8147111330009670
91680213775019360
10048118925013860
1115302100700014490
120481232320013340
130390126040014990
140710450075014590
15162115415009990
1615312195700014200
171601327450010870
1803815193255014940
19040016375015220
200301195009000
21045114750011221
22058124800012831
231410131350011940
241630234480021700
251360133725010430
26171111350015090
27040118550013170
2804311988009130
290280118450011010
496905501117000-200
497002511468000-210
497106301214200-210
497203811202500-180
49730241172000-180
497405911222300-270
497503901813000-170
49760341189100-190
497703311207000-180
497803601117000-240
497904711392000-200
498003302103000-160
498103101153000-220
49820291154000-170
49830261188000-210
498404901207000-220
498503111416000-240
498604501304000-170
498703911281000-270
49880760140000-240
4989051116780005820
49900310188000-170
499104002477000-170
499204211108000-190
499303211475800-230
499404311665000-250
499503201225000-220
499604111106200-160
499702711306000-160
49980311188000-170

4999 rows × 7 columns

In [15]:

X=data1.drop(['churn'],axis=1)
Y=data1['churn']

X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.30)

In [16]:

sc=StandardScaler() #데이터 표준화
sc.fit(X_train) #트레이닝 데이터로 변환계수를 추정

Out[16]:

StandardScaler(copy=True, with_mean=True, with_std=True)

In [17]:

X_train_std=sc.transform(X_train) #standardscale.transform을 이용해 실제로 자료를 반환
X_test_std=sc.transform(X_test)

In [20]:

mlp = MLPClassifier() #다층퍼셉트론분류기
mlp.fit(X_train, Y_train)

print("학습용 데이터셋 정확도: {:.3f}".format(mlp.score(X_train, Y_train)))
print("검증용 데이터셋 정확도: {:.3f}".format(mlp.score(X_test, Y_test)))
학습용 데이터셋 정확도: 0.704
검증용 데이터셋 정확도: 0.713

In [21]:

data1["predict"] = mlp.predict(X)
data1
C:\Users\gksmf\anaconda3\lib\site-packages\ipykernel_launcher.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  """Entry point for launching an IPython kernel.

Out[21]:

churn나이성별방문빈도총구매금액고객기간결혼여부predict
015711237500115801
115011610850120600
21391119000188001
3149119500134801
41420358900097700
50621663460090800
61461177900079900
71390158000152601
81471113300096701
916802137750193601
100481189250138601
11153021007000144900
1204812323200133401
1303901260400149901
1407104500750145900
151621154150099900
16153121957000142000
1716013274500108701
18038151932550149400
190400163750152201
2003011950090001
210451147500112211
220581248000128311
2314101313500119400
2416302344800217001
2513601337250104300
261711113500150901
270401185500131701
28043119880091301
2902801184500110101
496905501117000-2000
497002511468000-2100
497106301214200-2100
497203811202500-1800
49730241172000-1800
497405911222300-2700
497503901813000-1700
49760341189100-1900
497703311207000-1800
497803601117000-2400
497904711392000-2000
498003302103000-1600
498103101153000-2200
49820291154000-1700
49830261188000-2100
498404901207000-2200
498503111416000-2400
498604501304000-1700
498703911281000-2700
49880760140000-2400
49890511167800058200
49900310188000-1700
499104002477000-1700
499204211108000-1900
499303211475800-2300
499404311665000-2500
499503201225000-2200
499604111106200-1600
499702711306000-1600
49980311188000-1700

4999 rows × 8 columns

error: Content is protected !!
Scroll to Top