본문 바로가기

머신러닝

(6)
데이터 프레임의 날짜 문자열 컬럼을, datetime64로 변경하는 법 1. 데이터 프레임의 날짜 컬럼의 타입을 확인 chicago_df.info() 2. 날짜 컬럼의 타입을 datetime64 변경 판다스의 to_datetime 함수를 사용한다. 이때, 날짜 컬럼에 저장되어 있는 데이터의 format을 설정해주어야한다. chicago_df['Date'] = pd.to_datetime(chicago_df['Date'], format='%m/%d/%Y %I:%M:%S %p') chicago_df.head() 3. 파이썬에서 이해할 수 있는 날짜 타입으로 변경된 것을 확인할 수 있다. chicago_df.info()
[ 오류 해결 ] pd.read_csv 에러, Error tokenizing data. C error ~ 판다스에서 csv 파일을 읽어올때 Error tokenizing data. C error 와 같은 에러가 발생했다. 이에 대한 원인은 csv파일에서 데이터 일부분의 데이터가 잘못들어갔을 때 발생한다. 해결방법 error_bad_lines=False 한 줄을 추가해주면 에러가 발생하지 않고 넘어간다. pd.read_csv('data/Chicago_Crimes_2005_to_2007.csv', error_bad_lines=False) 이는 이상한 행들은 그냥 넘어가고 잘된 행들만 가져오도록 해준다. 한 줄을 추가해주면 에러가 발생하지 않고 넘어간다. 이러한 warning이 떠도 그냥 넘어가도 된다. /usr/local/lib/python3.7/dist-packages/IPython/core/interacti..
Prophet 라이브러리 사용법 prophet이란 ? 페이스북에서 공개한 시계열 예측 라이브러리이다. 코랩에서 사용하는 경우 따로 설치는 필요없지만, 주피터에서 사용할 경우 라이브러리를 설치해야한다. 파이썬 버전이 맞지 않을 경우 설치 에러가 날 수 있다. pip install fbprophet 위 코드가 에러날 경우 아래 코드로 진행한다. conda install -c conda-forge fbprophet Prophet 사용법 1. Prophet과 필요한 라이브러리를 import 해준다. import pandas as pd import numpy as np import matplotlib.pyplot as plt import random import seaborn as sns from fbprophet import Prophet 2..
Hierarchical Clustering의 Dendrogram 최적의 클러스터 갯수 찾기 import scipy.cluster.hierarchy as sch sch.dendrogram(sch.linkage(X, method='ward')) plt.title('Dendrogram') plt.xlabel('Customers') plt.ylabel('Eculidean Distances') plt.show() Hierarchical Clustering model 훈련시키기 from sklearn.cluster import AgglomerativeClustering hc = AgglomerativeClustering(n_clusters=5) y_pred = hc.fit_predict(X) y_pred y_pred 새로운 컬럼 'Group'을 만든 후, 예측한 데이터를 넣어준..
K-Means의 WCSS와 Elbow Method K-Means 알고리즘의 k를 정하는 방법 WCSS(Within Clusters Sum of Squares) 1) 적절한 k 값(몇 개 그룹)을 찾기 위해서는 WCSS 값을 확인해야 한다. 2) 따라서 k는 1부터 10까지 다 수행해보고 3) WCSS 값을 확인해 본다. 4) 이때 엘보우 메소드를 이용해서 최적의 K 값을 찾도록 한다. wcss = [] for k in range(1, 11) : kmeans = KMeans(n_clusters= k, random_state=42) kmeans.fit(X) wcss.append(kmeans.inertia_) plt.plot(range(1, 11), wcss) plt.title('Thew Elbow Method') plt.xlabel('Number of Cl..
머신러닝 - Linear Regression ( 선형 회귀 ) 머신러닝에서 신규데이터 예측하는 순서 1) NaN 이 있는지 확인하고 처리해준다. 2) X, y로 데이터를 분리해준다. X는 2차원이어야한다. 인공지능 학습하는 fit 함수에 X 값을 2차원으로 넣어야 동작하기 때문이다. X값이 1차원이라면 reshape 함수를 사용해서 2차원으로 만들어주어야한다. 3) 피쳐스케일링한다. - StandardScaler (표준화), MinMaxScaler (정규화) 방법이 있다. 단, Linear Regression 라이브러리는 자체에서 피쳐스케일링을 해주므로 이 과정을 생략한다. 4) 분석할 컬럼의 데이터가 문자열이라면 숫자로 바꿔준다. - Label Encoding 방법과 OneHot Encoding 방법이 있다. 5) 데이터셋을 학습용과 테스트용으로 데이터를 분리한다..