Information Security ˗ˋˏ ♡ ˎˊ˗

AI/deep learning

[Microsoft Malware Prediction] Data analysis

토오쓰 2020. 5. 18. 22:34

* 작업 환경

Ubuntu 18..04.4
Tensorflow-qpu-2.2.0

 

* 사용한 데이터

https://www.kaggle.com/c/microsoft-malware-prediction

 

Microsoft Malware Prediction

Can you predict if a machine will soon be hit with malware?

www.kaggle.com

 

 

1. 작업환경(jupyter notebook)

https://t-okk.tistory.com/51

 

Ubuntu에서 Jupyter Notebook 환경 구축

사용한 ubuntu version 1. Python3 다운로드 및 실행 확인 1.1 python3을 다운로드 $ apt-get install python3 1.2 버전 확인 $ python3 --version 1.3 실행 $ python3 2. pip(파이썬 패키지 관리자) 설치 2.1 파..

t-okk.tistory.com

 

2. 데이터 다루기

2.1 jupyter 환경에서 csv 파일 불러오기

import os
import pandas as pd

DATA_PATH="/home/malware/dataset"

def load_data(data_path=DATA_PATH):
    csv_path = os.path.join(data_path, "train.csv")
    return pd.read_csv(csv_path)

이 함수는 모든 데이터를 담은 pandas의 dataframe 객체를 반환

 

2.2 데이터 구조 확인

DataFrame의 head(): 처음 다섯 행을 확인

data=load_data()
data.head()

 

HasDetections를 보고 감염 여부를 체크

 

 

info(): 데이터에 대한 간략한 설명과 그 중에서 전체 행 수, 각 특성의 데이터 타입과 널(NULL)이 아닌 값의 개수를 확인

데이터셋에 8921483개의 샘플이 존재한다.

각 필드의 속성이 출력이 되는데, object dtype은 범주형(categorical) 일 것이다.

 

 

value_counts(): 어떤 카테고리가 있고 각 카테고리마다 얼마나 많은 구역이 있는지 확인, 각각의 값이 나온 횟수

SmartScreen 필드의 구성을 확인해보았다.

 

 

describe(): 숫자형 특성의 요약 정보

 

 

loc | 인덱스를 기준으로 행 데이터 추출

iloc | 행 번호를 기준으로 행 데이터를 추출

 

 

 

참고

https://tensorflow.blog/%ED%95%B8%EC%A6%88%EC%98%A8-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-1%EC%9E%A5-2%EC%9E%A5/2-3-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0/

 

2.3 데이터 가져오기

2.2 큰 그림 보기 | 목차 | 2.4 데이터 이해를 위한 탐색과 시각화   이제 직접 키보드를 두드릴 차례입니다. 노트북을 꺼내서 주피터 노트북에 있는 다음 코드 예제를 따라 해보세요. 전체 주피터

tensorflow.blog

 

https://bradbury.tistory.com/73

 

Python 데이터 분석 라이브러리 Pandas -1

Pandas란? - 파이썬에서 사용되는 데이터 분석 라이브러리로 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있게 되며 보다 안정적으로 대용량의 데이터들을 처리하는데 매우 편리하다.

bradbury.tistory.com

https://bradbury.tistory.com/74?category=768468

 

Python 데이터 분석 라이브러리 Pandas - 2

Untitled1 데이터 연결 분석하기 좋은 데이터 데이터 집합을 분석하기 좋은 상태로 만들어 놓은 것 실제 데이터 분석 작업의 70이상은 데이터 정리 작업 다음 조건을 만족하는 분석하기

bradbury.tistory.com