본문 바로가기

머신러닝14

[머신러닝] 연도별 시카고 범죄율 예측 실습: to_datetime, dt, Prophet kaggle에서 제공하는 시카고 범죄 데이터를 분석해보자. Datasource: 캐글 https://www.kaggle.com/currie32/crimes-in-chicago 다운로드한 csv파일을 변수로 저장한다. chicago_df_1 = pd.read_csv('Chicago_Crimes_2005_to_2007.csv',error_bad_lines=False,index_col = 0) chicago_df_2 = pd.read_csv('Chicago_Crimes_2008_to_2011.csv',error_bad_lines=False,index_col = 0) chicago_df_3 = pd.read_csv('Chicago_Crimes_2012_to_2017.csv',error_bad_lines=Fals.. 2022. 5. 11.
[머신러닝] 아보카도 가격 예측 실습: Prophet, EDA(Exploratory Data Analysis), make_future_dataframe 미국의 아보카도 리테일 데이터를 통해 아보카도의 가격을 예측해보자. 실습 1. Prophet 사용하기 전, 임포트하세요. from fbprophet import Prophet # 에러 발생시 프롬프트에 실행 : conda install -c conda-forge fbprophet df= EDA(Exploratory Data Analysis) : 탐색적 데이터 분석 시작 실습 2. 데이터를 날짜순으로 정렬하세요. in: df.sort_values('Date', inplace= True) df.head() out: 실습 3 날짜별로 가격이 어떻게 변하는지 plot을 이용해서 차트로 나타내세요. in: df_date = df.groupby('Date')['AveragePrice'].mean() df_date... 2022. 5. 10.
[머신러닝] Scaler의 inverse_transform, RandomForest 자동차 소비자들의 데이터를 토대로 자동차 구매 가격을 예측하는 인공지능을 만들어보자 df= # 이 중에서 성별부터 자본까지만 데이터로 활용하자. 전처리과정: df.isna().sum() # NaN없음 X = df.iloc[:,3:-1] y = df['Car Purchase Amount'] from sklearn.preprocessing import MinMaxScaler scaler_X = MinMaxScaler() scaler_y = MinMaxScaler() X = scaler_X.fit_transform(X) y = y.values.reshape (500,1) # y데이터 스케일링 y = scaler_y.fit_transform(y) 리니어 리그레션으로 모델링하고 학습한 후 평가진행: in: fro.. 2022. 5. 10.
[머신러닝] 스팸 분류 실습: CountVectorizer, Data Cleaning, Pipelining, NaiveBayes, Wordcloud 제시되는 데이터에는 약 5,728개의 이메일 메시지가 있으며, 스팸인지 아닌지의 정보를 가지고 있다. spam 컬럼의 값이 1이면 스팸이고, 0이면 스팸이 아니다. 스팸인지 아닌지 분류하는 인공지능을 만들자 (Supervised learning의 분류 문제) # colab으로 실습을 진행하였다. 실습 1. 구글드라이브에 있는 emails.csv 읽기 from google.colab import drive drive.mount('/content/drive') # colab의 구글드라이브 마운트 버튼을 누르면 해당 코드가 나온다. chdir로 디렉토리를 바꾸고 read_csv로 데이터를 불러오자. in: import os os.chdir('/content/drive/MyDrive/Colab Notebooks.. 2022. 5. 10.
[머신러닝] Hierarchical Clustering 하이어라키컬 클러스터링은 각 데이터간의 거리가 가장 가까운것부터 묶어 순차적으로 클러스터링한다. 또한 이를 관계도인 덴드로그램을 통해 나타낼수 있다. 완성된 덴드로그램을 분석하여 사용자가 데이터를 몇개의 그룹으로 나눌지 결정한다. # 주로 거리가 긴 (관계가 먼) 곳을 기준으로 나눠준다. df= 먼저 X값을 정한다. X = df.iloc[:,3:] 그 후, sch.dendrogram함수와 sch.linkage함수를 사용하여 덴드로그램을 그린다. in: sch.dendrogram(sch.linkage(X,method='ward')) plt.title('Dendrogram') plt.xlabel('Customers') plt.ylabel('Eculidean Distance') plt.show() out: #.. 2022. 5. 10.
[머신러닝] K-Means Clustering 클러스터링은 Unsupervised Learning이다. kmeans 클러스터링은 랜덤한곳에 점 두개를 찍어 점사이를 기준으로 수직이등분하여 영역을 나눈다. (클러스터링) 구분된 영역의 중앙으로 점들을 이동시키며 다시 수직이등분하여 영역을 나누는 작업을 반복하여 나눈 영역안에 다른 카테고리가 더이상 나타나지 않으면 작업을 끝낸다. 클러스터링은 k 개의 그룹을 만드는데 3개 이상의 클러스터링을 위해 위의 작업을 반복할때 사용자가 원치 않는 그룹이 될수있다. 위와 같은 문제는 해결한것이, K-Means++ 알고리즘이다. K-Means++는 WCSS(within-cluster sums of squares)를 구해 그룹화 작업을 한다. # 센터가 원소들과의 거리가 멀수록 값이 커진다. # 최소값에 가까워지는 갯.. 2022. 5. 9.
[머신러닝] Decision Tree DecisionTreeClassifier로 데이터셋을 여러 갈래로 나눠 분류할수 있다. df= 전처리 과정: X = df.iloc[:, [2,3]] y = df['Purchased'] from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X = scaler.fit_transform(X) 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=3) sklearn.tree 라이브러리의 DecisionTreeClassifier를 사용한다. fr.. 2022. 5. 9.
[머신러닝] sklearn.datasets, hyper parameter, GridSearchCV scikit learn 에서 많이 사용하는 데이터셋을 기본적으로 제공한다. sklearn.datasets을 사용하여 유방암의 양성과 악성을 진단할수있는 데이터셋을 가져오자. from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() # cancer 변수로 딕셔너리 형태의 데이터셋을 저장했다. 어떤 데이터들이 들어있는지 확인해보자. in: cancer.keys() out: dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename']) # 7개의 키가 있다. # feature_names에 종양의 특징들을 나타낸 열의 이름이 나.. 2022. 5. 9.