Sklearnアルゴリズムでは、Sklearnアルゴリズムで学習するための機能とラベルが必要です。CSVファイルをPythonにインポートしてnumpy配列に変換し、Sklearnアルゴリズムに入力してください。
私はいくつかのデータを含むCSVファイルを持っています。これらのデータは実際に、参加者がアフィリエイトネットワークの膨大な個人のデータとその広告クリックパフォーマンスから学ぶ学習アルゴリズムを作成する必要があるhackerearthウェブサイトからの挑戦であり、アフィリエイトネットワーク内の他の個人の将来のパフォーマンスを予測し、広告パフォーマンスを最適化することができます。
これらのデータの機能には、id、date、siteid、offerid、カテゴリ、マーチャント、国コード、ブラウザのタイプ、デバイスのタイプ、広告のクリック数が含まれます。
だから私の計画は私の機能やラベルなどの広告のクリックとして最初の7の情報を使用することです。残念ながら、国コード、ブラウザ、デバイス情報はテキスト形式(Google Chrome、デスクトップ)であり、配列に変換できる整数ではありません。
Q1:sklearnがnumpy配列だけでなく単語をフィーチャーとして受け入れる方法はありますか?私はこれにベクトル化ツールを使用することをサポートしていますか?もしそうなら、どうすればいいのですか?そうでない場合は、言い回しデータを数字に置き換えることができます(Google Chromeは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