Seite 1 von 1

Machine Learning Algorithms

Verfasst: Freitag 28. Februar 2020, 12:01
von Thesty
Hallo zusammen,
ich arbeite für ein Uni-Projekt derzeit mit dem Pima Indian Diabetes Dataset und muss folgende Aufgabe bearbeiten:
Entscheiden Sie sich für einen geeigneten Algorithmus für maschinelles Lernen und trainieren Sie ihn an Ihren Daten, für drei verschiedene Eingabedaten:
a. X= reale Daten mit all ihren 8 Merkmalen (hier ist die Form Ihrer Daten (768,8))
b. X= Daten mit zwei am besten ausgewählten Merkmalen (hier ist die Form Ihrer Daten (768,2))
c. X= Daten mit zwei RANDOM-Merkmalen (hier ist die Form Ihrer Daten (768,2))

Den ersten Teil des Projekts, in dem ich die ein X und ein y initialisiert habe und eine Methode programmiert habe, die die zwei wichtigsten Datenpunkte unterscheidet, habe ich problemlos hinbekommen. Der Code, den ich bislang habe ist der hier:

Code: Alles auswählen

import pandas as pd

df = pd.read_csv (r'C:\Users\Thesty\Desktop\pima-indian-diabetes-dataset.csv')  
print (df)

X = np.array(df)[:,0:7]
y= np.array(df)[:,8]

scaler=StandardScaler() 
scaler.fit(X)

X_scaled=scaler.transform(X) 

pca=PCA(n_components=2) 
pca.fit(X_scaled)
X_pca=pca.transform(X_scaled)

print("Original data shape: {}".format(X_scaled.shape))
print("Reduced data shape: {}".format(X_pca.shape))

plt.plot(X_pca,"ro")
plt.show()


Für den zweiten Teil der Aufgabe fehlt mir leider ein konkreter Ansatz, da wir in dem Seminar nur KNN als supervised learning algorithm kennengelernt haben und der zum Bearbeiten der Aufgabe unpassend erscheint.

Falls jemand von euch eine Idee hat, welchen Algorithmus man für diese Aufgabe nehmen kann, würde ich mich sehr freuen!

Re: Machine Learning Algorithms

Verfasst: Freitag 28. Februar 2020, 12:34
von Thesty
Ich mich in der Zwischenzeit selbst noch damit beschäftigt und einige Algorithmen ausprobiert und bekomme mit dem folgenden Code Ergebnisse:

Code: Alles auswählen

X_train, X_test, y_train, y_test = train_test_split(X,y)
clf=svm.SVC(kernel="linear")
clf.fit(X_train,y_train)

y_pred=clf.predict(X_test)
print(X_test)
print(y_pred)
print(y_test)

print("The accuracy is: {}".format (metrics.accuracy_score(y_test,y_pred)))

X_train, X_test, y_train, y_test = train_test_split(X_pca,y)
clf=svm.SVC(kernel="linear")
clf.fit(X_train,y_train)

y_pred=clf.predict(X_test)
print(X_test)
print(y_pred)
print(y_test)

print("The accuracy for the two best features is: {}".format (metrics.accuracy_score(y_test,y_pred)))

Ich bin mir leider unsicher, ob das der richtige Lösungsweg ist. Vielleicht hat jemand von euch ein bisschen mehr Ahnung und kann mir sagen, ob der Ansatz richtig ist :)

X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=2)
clf=svm.SVC(kernel="linear")
clf.fit(X_train,y_train)

y_pred=clf.predict(X_test)
print(X_test)
print(y_pred)
print(y_test)

print("The accuracy for the two random features is: {}".format (metrics.accuracy_score(y_test,y_pred)))[\Code]

Re: Machine Learning Algorithms

Verfasst: Freitag 28. Februar 2020, 13:22
von ThomasL
Bei diesem Dataset handelt es sich ja um eine Klassifikation, die Klasse ist in der letzten Spalte. (0 oder 1)
Dazu finde ich dieses Video: https://www.youtube.com/watch?v=U1JIo8JSuYo
Und dieses Tutorial ist auch ganz gut: https://towardsdatascience.com/solving- ... 0ab6b071d2

Re: Machine Learning Algorithms

Verfasst: Freitag 28. Februar 2020, 13:28
von Thesty
Danke für deine Antwort, ich werde es mir gleich angucken :)