Sklearn 알고리즘에는 피할 수있는 기능과 레이블이 필요합니다.CSV 파일을 파이썬으로 가져온 다음 numpy 배열로 변환 한 다음 Sklearn 알고리즘에 입력하십시오.
일부 데이터가 포함 된 CSV 파일이 있습니다. 이 데이터는 실제로 hackerearth 웹 사이트에서 참가자가 제휴 네트워크의 엄청난 양의 개인 데이터와 해당 광고 클릭 실적에서 학습 알고리즘을 작성하여 제휴 네트워크의 다른 개인의 향후 실적을 예측할 수있는 도전 과제입니다. 회사는 광고 실적을 최적화 할 수 있습니다.
이 데이터의 기능에는 ID, 날짜, 사이트 ID, 쿠폰 ID, 카테고리, 판매자, 국가 코드, 브라우저 유형, 기기 유형 및 광고 클릭 수가 포함됩니다.
그래서 내 계획은 내 기능 및 라벨 등의 광고 클릭으로 처음 7 정보를 사용하는 것입니다. 유감스럽게도 국가 코드, 브라우저 및 기기 정보는 텍스트 형식 (Google 크롬, 데스크톱)이며 배열로 변환 할 수있는 정수는 아닙니다.
1 : sklearn이 numpy 배열뿐만 아니라 단어를 기능으로 받아 들일 수있는 방법이 있습니까? 이를 위해 벡터화기를 사용하도록 지원합니까? 그렇다면 어떻게해야할까요? 그렇지 않은 경우 문구 데이터를 숫자로 바꿀 수 있습니까 (Google 크롬은 1, Firefox는 2로 바뀜). 계속 작동합니까? (Naive Bayes 알고리즘을 사용 중입니다.)
Q2 : Naive Bayes 알고리즘이이 작업에 적합할까요? 이 경쟁은 참가자들이 제휴 네트워크에있는 사람들이 광고를 클릭 할 확률을 예측하는 프로그램을 작성해야하기 때문에 Naive Bayes가 가장 적합하다고 가정합니다.
교육 자료 : https://drive.google.com/open?id=1vWdzm0uadoro3WcpWmJ0SVEebeaSsHvr
테스트 데이터 : https://drive.google.com/open?id=1M8gR1ZSpNEyVi5W19y0d_qR6EGUeGBQl
내 지저분한 코딩 내가 많은 도움이 될 것입니다 생각하지 않습니다이 문제에 끔찍한 시도 :
from sklearn.naive_bayes import GaussianNB
import csv
import pandas as pd
import numpy as np
data = []
from numpy import genfromtxt
import pandas as pd
data = genfromtxt('smaller.csv', delimiter=',')
dat = pd.read_csv('smaller.csv', delimiter=',')
print(dat(siteid))
feature = []
label =[]
i = 1
j = 1
while i <17:
feature.append(data[i][2:8])
i += 1
while j <17:
label.append(data[i][9])
j += 1
clf = GaussianNB()
clf.fit(feature,label)
print(clf.predict([data[18][2:8]]))
print(data[18])
귀하의 질문은 전혀 어리석은 것이 아니므로 귀하가 요청한 내용과 귀하의 코드 스 니펫을 첨부하는 것이 좋습니다. 첫 번째 질문과 관련하여 범주 형 데이터를 숫자로 대체하려는 아이디어는 정확합니다. 더 나은 방법은 [OneHotEncoder] (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing)를 사용하는 것입니다. OneHotEncoder.html) – Flika205