Loading...
2021. 10. 5. 19:52

[샌프란시스코 범죄 분류] - 1

이번 시간에는 캐글 대회 샌프란시스코 범죄 분류에 대해서 진행해 볼 것이다. 이 대회는 총 39개의 범죄 유형을 예측해야 한다. 즉 다중 분류(Multi-Class Classification) 문제이다. 데이터는 아래의 링크에 있다. https://www.kaggle.com/c/sf-crime San Francisco Crime Classification | Kaggle www.kaggle.com 데이터 불러오기 데이터를 불러오자. import pandas as pd train = pd.read_csv('train.csv') test = pd.read_csv('test.csv') train.shape, test.shape 데이터는 약 88만 개 정도이고 Test 데이터의 개수가 Train 데이터의 개수보..

2021. 10. 4. 19:34

[진짜 재난 뉴스 판별기] - 2

지난 글에 진짜 재난 뉴스 판별기 시각화까지 진행했다. 이번 글에서는 본격적으로 판별하기 위한 피처 엔지니어링을 진행할 것이다. 피처 엔지니어링 데이터 전처리를 진행할 것이다. 먼저 결측치가 있는지 확인해보자. def check_na(data): isnull_na = (data.isnull().sum() / len(data)) * 100 data_na = isnull_na.drop(isnull_na[isnull_na == 0].index).sort_values(ascending = False) missing_data = pd.DataFrame({'Missing Ratio' : data_na, 'Data Type' : data.dtypes[data_na.index]}) print('결측치 데이터 칼럼과 건..

2021. 10. 1. 17:57

[진짜 재난 뉴스 판별기] - 1

지도 학습의 기법인 분류(Classification)는 실제 비즈니스에서 매우 자주 사용되는 머신러닝 알고리즘의 하나이다. 주어진 데이터를 기반으로 새로운 범주형 클래스를 예측하는 기법이다. 예를 들면 고객의 이탈 유무 판별, 신용 카드 연체 유무 판별, 스팸 이메일 감지, 암 진단 유무 등 다양한 곳에서 활용이 가능하다. 분류의 종류에는 이진 분류(Binary Classification), 다중 분류(Multiclass Classification)가 존재한다. 다중 분류의 가장 대표적인 예는 IRIS 데이터의 종 분류이다. 이번 글에서는 캐글 대회인 트위터 진짜 재난 뉴스 판별기 만들기를 진행해 볼 것이다. 비정형 데이터인 만큼 텍스트 마이닝이 필요하다. 데이터 불러오기 먼저 데이터는 아래의 링크에 있..

2021. 9. 29. 16:58

Seaborn 시각화(2)

막대그래프 다음으로 막대그래프에 대해 알아볼 것이다. 막대그래프에 텍스트를 추가하는 작업을 진행할 것이다. 기본 그래프는 빈도 그래프인 countplot()을 활용하면 구현하기 쉽다. sns.countplot(x = 'day', data = tips) plt.show() 요일별로 정렬되어 있어 좋지만 오름차순 또는 내림차순으로 정렬을 할 수도 있다. 이때는 Pandas 문법인 value_counts()를 활용하면 된다. sns.countplot(x = 'day', data = tips, order = tips['day'].value_counts().index) plt.show() 이에 더해 각각의 막대에 숫자를 표시할 것이다. 이때는 반복문을 사용하면 구현하기 쉽다. ax = sns.countplot(x..

2021. 9. 28. 18:24

Seaborn 시각화(1)

이번 글에서는 Seaborn 라이브러리에 대해 알아볼 것이다. Seaborn은 Matplotlib의 기반 위에 만들어진 라이브러리이다. 특히 Seaborn 라이브러리는 코드가 쉽고 간결하며 다양한 통계 그래프를 그릴 수 있어 매력적이다. 산점도, 회귀선이 있는 산점도 산점도는 서로 다른 2개의 연속형(수치형) 변수 사이에 점을 찍는 그래프이다. 보통은 Scatterplot을 사용하지만, 이외에도 relplot, regplot을 사용한다. import matplotlib.pyplot as plt import seaborn as sns tips = sns.load_dataset('tips') sns.scatterplot(x = 'total_bill', y = 'tip', data = tips) plt.sho..

2021. 9. 28. 17:52

Matplotlib 시각화(2)

히스토그램 히스토그램은 연속형 변수의 분포를 그리는 데 사용한다. 연속형 변수들의 값이 빈(Bin) 수로 분할되어 x축에 표시되며, 각 빈에 포함되는 범위의 수치들은 카운트화되어 y축에 표시된다. y축에는 카운트 대신 총량의 백분율을 표시해 확률 분포를 나타내며, 이러한 그래프는 통계 분석에 사용된다. titanic = sns.load_dataset('titanic') age = titanic['age'] nbins = 21 fig, ax = plt.subplots(figsize = (10, 6)) ax.hist(age, bins = nbins) ax.set_xlabel('Age') ax.set_ylabel('Frequency') ax.set_title('Distribution of Age in Tita..

2021. 9. 27. 19:48

Matplotlib 시각화(1)

Matplotlib는 다양한 파이썬 시각화 라이브러리의 기본 뼈대라고 할 수 있으며, 사용 범위는 정형 데이터, 이미지 시각화 등 매우 다양하게 사용할 수 있다. 선그래프(Line Plot) 선그래프란 연속하는 데이터 값들을 직선 또는 곡선 형태로 구하는 것을 말한다. 특히 주가나 일일 매출 등과 같이 연속적인 값의 변화와 패턴을 파악하는 데 적합하다. 이 글에서는 모듈에서 제공하는 데이터를 불러와 작업할 것이다. import yfinance as yf data = yf.download('AAPL', '2019-08-01', '2020-08-01') ts = data['Open'] print(ts.head()) 먼저 Fix_Yahoo_Finance 라이브러리에서 데이터셋을 가져온다. AAPL(애플) 명을..

2021. 9. 24. 16:49

파이썬 데이터 분석 실무 테크닉 100 -최적화(4)

테크닉 067 : 최적 생산 계획이 제약 조건을 만족하는지 확인하자 이전 글에 이어 최적 생산 계획이 제약 조거늘 만족하는지 확인할 것이다. 최적화 문제를 풀 때 가장 주의할 점은 최적화 계산을 한 결과를 이해하지 않고 그냥 받아들이면 안 된다는 것이다. 생산 최적화에 있어 결과를 이해하는 방법에는 먼저 제약 조건으로 규정한 "각 원료의 사용량"이 어느 정도이고 그것이 "재고를 효율적으로 이용하고 있는가"를 알아보는 방법이다. def condition_stock(df_plan, df_material, df_stock): flag = np.zeros(len(df_material.columns)) for i in range(len(df_material.columns)): temp_sum = 0 for j i..