목록전체 글 (198)
개발학습일지
인덱스 이름, 컬럼 이름을 변경하는 방법은 rename 함수를 사용한다 인덱스 명을 바꾸는 방법 - store3 를 last store로 변경해보자 df.rename( index= { 'store3' : 'last store' }, inplace=True ) df 컬럼 명을 바꾸는 방법 - bikes => hat, suits => shoes 으로 변경해 보자 df.rename( columns= { 'bikes':'hat', 'suits':'shoes' }, inplace=True ) df 새로운 컬럼을 만들고 벨류 값을 넣어주는 방법 - 새로운 컬럼 name 을 만들되, A, B, C 라고 넣자 df['name'] = ['A','B','C'] df
데이터프레임 합치기(concat) : 새로운 판다스 데이터 프레임을 만들어, 기존에 있는 데이터 프레임에 합쳐 보자 - 새로운 데이터프레임을 만든다 new_item = [ {'bikes':20, 'pants':30, 'watches':35, 'glasses':4 } ] new_store_df=pd.DataFrame(data=new_item, index=['store3']) - 기존 데이터프레임 df에 새로운 데이터프레임 new_store_df 합친다 - 비어 있는 컬럼 값은 NaN으로 입력된다 df = pd.concat( [ df, new_store_df ] ) df 데이터 삭제하는 방법 : 행 삭제, 열 삭제 : drop() 함수를 이용하고, axis 만 설정해 주면 된다 - 데이터(인덱스) 행 삭제 ..
오늘 포스팅에 사용 할 기초데이터 df 데이터프레임 데이터 값 변경 - 판다스이기 때문에 원하는 값 엑세스 후 연산 기호를 사용해준다 - 데이터 엑세스는 .loc[] 또는 .iloc[]를 사용한다 # 스토어 2의 watches 데이터를 , 20으로 변경 해주세여 df.iloc[ 1, 2 ] = df.iloc[ 1, 2 ]+10 df df.loc[ 'store2', 'watches' ] = 20 df 데이터프레임에 새로운 컬럼을 만들고 데이터를 넣어 보자 - shirts 라는 컬럼을 만들고, store1 에는 15개, sotres2에는 2개로 만들어 보자 df['shirts'] = [15, 2] df - pants 값과 shirts 값을 더해서 suits 라는 컬럼을 만들어 보자 df['suits'] = ..
계층적 군집 Hierarchical Clustering : 데이터를 계층적으로 연결해가면서 가까운 군집끼리 군집을 구성해 가는 알고리즘이다 기초 라이브러리 import numpy as np import matplotlib.pyplot as plt import pandas as pd 기초 데이터 df df = pd.read_csv('../data/Mall_Customers.csv') df.head() 1. nan 확인 df.isna().sum() >>> CustomerID 0 Genre 0 Age 0 Annual Income (k$) 0 Spending Score (1-100) 0 dtype: int64 2. y 값이 없으므로 X 값만 구하기 X = df.loc[ : , 'Genre' : ] X.head(..
기본 임폴트 라이브러리 # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd 오늘 포스팅에서 사용할 df df = pd.read_csv('Mall_Customers.csv') df.head() 데이터를 비슷한 정보끼리 묶으려고 한다 1. nan 있는지 확인한다 df.isna().sum() >>> CustomerID 0 Genre 0 Age 0 Annual Income (k$) 0 Spending Score (1-100) 0 dtype: int64 2. 필요한 데이터 X로 묶어준다 X = df.loc[ : , 'Genre':'Spending Score (1-100)'] 3. X 에 Gen..
Unsupervised Learning 은 y(정답) 없이 인공지능을 학습 시키는 것 이다. (비지도 학습) 평균군집 K-Means는 - 군집 중심점(centroid)라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택한다 - 군집 중심점은 서택된 포인트의 평군 지점으로 이동하고 이동된 중심점에서 다시 가까운 포인트를 선택한다 - 이 과정을 반복하다가 더 이상 중심점의 이동이 없으면 반복을 멈추고 해당 중심점에 속하는 포인트들을 군집화 한다 Choosing the right number of clusters 몇개로 분휴 할지는 어떻게 결정할까? K의 갯수를 정하는 방법 클러스팅이 잘 되었다 라는 것은 가까운 데이터끼리 잘 뭉쳐 있다는 것이다 센터가 원소들과의 거리가 멀수록 값이 커진..
supercised (정답을 알려주면서 학습하는 것 )의 classidication 분류 알고리즘 4가지 - LogisticRegression from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1) from sklearn.linear_model import LogisticRegression classifier = LogisticRegression(random_state=N) classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) - K-..
SMOTE를 활용한 오버샘플링 시점 : 피처스케일링을 하기 전, X와 y 를 나누고 난 직후에 하는 것이 가장 바람직하다 샘플링에는 - 언더 샘플링 - 오버샘플링 : 적은 데이터 세트를 증식하여 학습을 위한 충분한 데이터를 확보하는 방법 이 있다. 일반적으로 언더샘플링보다 오버샘플링이 예측 성능상 더 유리한 경우가 많아 주로 사용된다. 1. y의 데이터의 불균형 정도를 확인한다 y.value_counts() >>> class 0 262 1 130 Name: count, dtype: int64 import seaborn as sb sb.countplot(data=df, x='class') plt.show() 2. 1 인 데이터가 적으므로, up sampling 기법으로 데이터를 늘려준다 - imblearn..