본문 바로가기

Study_note(zb_data)/Machine Learning

(32)
스터디노트 (ML8_Cross validation) 📌KFold import numpy as np from sklearn.model_selection import KFold X = np.array([[1,2], [3,4], [1,2], [3,4]]) y = np.array([1,2,3,4]) kf = KFold(n_splits=2) kf = KFold(n_splits=2) #split을 2등분으로 나눈다 print(kf.get_n_splits(X)) kf >>> 2 KFold(n_splits=2, random_state=None, shuffle=False) for train_idx, test_idx in kf.split(X): print('---- idx') print(train_idx, test_idx) print('---- train data') pr..
스터디노트 (ML7_Pipeline) 📌 Pipeline import pandas as pd red = pd.read_csv('../data/winequality-red.csv', sep=';') white = pd.read_csv('../data/winequality-white.csv', sep=';') red['color'] = 1. white['color'] = 0. wine = pd.concat([red, white]) X = wine.drop(['color'], axis= 1) y = wine['color'] 🔻pipeline 설정하기 - set.param으로 파이프라인 내에 있는 파라미터를 지정할 수 있다 from sklearn.pipeline import Pipeline from sklearn.tree import Decisio..
스터디노트 (ML6_Wine) 📌 plotly.express import pandas as pd red = pd.read_csv('../data/winequality-red.csv', sep=';') white = pd.read_csv('../data/winequality-white.csv', sep=';') red['color']= 1. white['color'] = 0. wine =pd.concat([red,white]) wine.info() wine['quality'].unique() >>>> array([5, 6, 7, 4, 8, 3, 9], dtype=int64) import plotly.express as px fig = px.histogram(wine, x='quality') fig.show() fig = px.histo..
스터디노트 (ML5) 📌 LabelEncoder df = pd.DataFrame({ 'A' : ['a', 'b', 'c', 'a', 'b'], 'B' : [1, 2, 3, 1, 0], }) df 📌 Label_encoder - fit -> transform from sklearn.preprocessing import LabelEncoder le = LabelEncoder() le.fit(df['A']) le.classes_ >>>> array(['a', 'b', 'c'], dtype=object) le.transform(df['A']) >>>> array([0, 1, 2, 0, 1]) le.fit_transform(df['A']) >>>> array([0, 1, 2, 0, 1]) le.inverse_transform(df['..
스터디노트 (ML4) 📌 LabelEncoder - Label을 붙여서 성별을 0과 1로 구분해보자 - 결측치는 notnull로 없애기 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() le.fit(titanic['sex']) titanic['gender'] = le.transform(titanic['sex']) titanic.head() # 결측치 확인 titanic.info() >>>> RangeIndex: 1309 entries, 0 to 1308 Data columns (total 17 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 pclass 1309 non-nu..
스터디노트 (ML3) 📌 Titanic_EDA 🔻 Titanic 생존율 확인하기 import pandas as pd titanic = pd.read_excel('../data/titanic.xls') titanic.head() import matplotlib.pyplot as plt import seaborn as sns # graph 2개 제작 f, ax = plt.subplots(1, 2, figsize = (16, 8)); # autopct = %표시 titanic['survived'].value_counts().plot.pie(ax=ax[0], autopct='%1.1f%%', shadow=True, explode = [0, 0.1]); ax[0].set_title('Pie plot - survived') ax[0]...
스터디 노트 (ML2) 📌 Scikit Learn Tree 🔻 Tree model visualization from sklearn.tree import plot_tree plt.figure(figsize=(12, 8)) plot_tree(iris_clf); 🔻 mlxtend.plotting - 제공한 데이터에 따라 경계선을 그려주는 함수 - feature가 적어서 사용함, feature가 많다면 사용하기 어려움 - 경계면이 과연 올바른 걸까 의심을 해봐야 한다. (복잡한 경계면은 모델의 성능을 결국 나쁘게 만든다.) from mlxtend.plotting import plot_decision_regions plt.figure(figsize=(14, 8)) plot_decision_regions(X=iris.data[:, 2:]..
스터디 노트 (ML) 📌 Machine Learning - 명시적으로 프로그래밍 하지 않아도 컴퓨터에 학습할 수 있는 능력을 부여하는 학문 - 주어진 데이터를 통해 규칙을 찾는 것이다. 📌 iris 데이터 셋 import 하기 - sklearn.datasets에서 iris 데이터를 import - 데이터 셋을 활용하여 setosa, versicolor, virginica를 구분해보자 from sklearn.datasets import load_iris iris = load_iris() iris.keys() >>>> dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module']) print(iris[..