군침이 싹 도는 코딩
Data Dashboard App 개발 순서 (1) 데이터 분석 본문
웹 대시보드를 만들기 위한 첫 순서인 데이터 분석을 해야한다.
데이터 분석을 하기위해 가장 유용한 툴인 주피터 노트북으로 한다
본문에서는 입력받은 데이터를 통해 자동차 구매가격 예측을 해주는 앱을
만들어 볼 것이다.
# 위 데이터 프레임으로 분석을 해보겠다
df.describe()
# 기본적인 분석을 해보자
df.loc[df['Annual Salary'] == df['Annual Salary'].max(),]
df.loc[df['Annual Salary'] == df['Annual Salary'].min(),]
# 컬럼 별 최대 최소값도 찾아본다
plt.hist(data=df , x= 'Annual Salary',rwidth=0.8,bins=20)
plt.show()
# 컬럼 별 히스토그램도 그려본다
df[['Gender','Annual Salary','Age']].corr()
sb.heatmap(data=df.corr(),annot=True, fmt='.2f',cmap='coolwarm',vmin=-1,vmax=1,linewidths=0.5)
plt.show()
# 상관 계수도 구해보고 그것을 히트맵으로 출력도 해본다
그 후 필요에 따라 인공지능을 학습 시킨다.
본문에서는 자동차 구매금액 예측을 할 것이기 때문에
리니어 리그레이션 인공지능을 사용할것이다.
df.isna().sum()
# X,y 로 분리
y= df['Car Purchase Amount']
X=df.loc[:,'Gender':'Net Worth']
X = X.values
# na 가 있는지 확인하고 X,y로 분리해준다
# Train / Test 로 나누기
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=50)
# 인공지능 모델링 및 학습
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train,y_train)
y_pred = regressor.predict(X_test)
# 인공지능을 학습 시킬 트레인 테스트셋으로 나누고
인공지능을 모델링 한 다음 학습 시켜준다
이때 값을 예측하는것을 하기때문에 리니어리그레이션을 사용한다
# MSE (검증하기)
error = y_test - y_pred
(error ** 2).mean()
>>> 1.916197949954419
# 이 후 인공지능을 검증한다
값이 만족스럽게 나왔다
import joblib
joblib.dump(regressor,'regressor.pkl')
# 이제 인공지능을 저장해준다
이것으로 데이터 분석과 인공지능을 학습시켜 저장했으니 다음 순서로는
비주얼 스튜디오 코드로 웹 대시보드를 만든다
'Python > Streamlit' 카테고리의 다른 글
streamlit 데이터 프레임 불러오기 중 레이블/원핫 인코딩 자동으로 하기 (0) | 2022.12.26 |
---|---|
Data Dashboard App 개발 순서 (2) 웹 대시보드 만들기 (0) | 2022.12.14 |
Visual studio code 파일 분리해서 처리하는 법 (0) | 2022.12.13 |
Visual studio code 데이터를 입력받는 함수 (input) (0) | 2022.12.13 |
스트림릿의 다양한 UI 함수 2 (dataframe,button,radio,checkbox,selectbox,multiselect,slider,expender) (0) | 2022.12.12 |