Basierend auf dem Fall Python Random Forest: Anderen Liebe geben

Wir alle wissen, dass die Liebe nicht nur das Herz haben muss, dich zu lieben, sondern auch Brennholz, Reis, Öl und Salz. Die beste Liebe ist nicht der Wind und der Schnee, sondern die Holzkohle im Schnee. Wenn du eines Tages liebst, wirst du es nicht glauben. Ich weiß nicht, wohin Sie in den nächsten Tagen gehen sollen. Sie müssen dem Freund des Datenanalysten neben Ihnen vertrauen. Er wird die Daten verwenden, um Ihnen zu sagen, wohin Sie sich verlieben sollen?

1. Fallhintergrund

案例背景

Eines Tages kam Xiao Cs Cousin Xiao Q zu Xiao C und sagte, er sei etwas besorgt. Xiao Qs Kollege stellte sie Herrn Z vor, der 37 Jahre alt ist und als Angestellter in einer Provinzregierung arbeitet. Arbeit, aber Xiao Qs Standard für die Auswahl eines Ehepartners ist, dass das monatliche Gehalt der anderen Partei mehr als 5 W beträgt, ganz zu schweigen von Xiao Qs Anbetung des Geldes, nur weil die Welt weiß, dass weicher Reis duftet, aber es ist nicht lange her, seit ich mich das erste Mal getroffen habe, und es ist mir peinlich, Mr.z direkt zu fragen, also habe ich es genommen. Ändern Sie nicht Ihre Meinung darüber, ob Sie eingehend mit Mr.z interagieren sollen (um es ganz klar auszudrücken, ich weiß nicht, wie viel Geld Mr.z hat?), Daher möchte ich, dass Xiao C bei der Entscheidungsfindung hilft. Als ausgezeichneter Big-Data-Analyst ist Xiao C, Xiao C dachte lange darüber nach und stellte fest, dass diese Angelegenheit nicht einfach ist, sondern auch Python verwenden muss, sondern auch ein Modell erstellen muss. So wenig dachte C plötzlich über Assoziationen an den Entscheidungsbaumalgorithmus und dachte dann an zufällige Wälder. Die Inspiration erschien plötzlich und erinnerte sich plötzlich an eine Gute Idee, also fing er an. . . .

Datensatzvorbereitung

Jeder kennt einen bekannten Datensatz - den Datensatz für Erwachsene, der mehrere zehn Millionen Stichprobendaten enthält. Die Stichprobendaten umfassen im Allgemeinen Alter, Berufscharakter, statistisches Gewicht, Bildung, Bildungsdauer, Familienstand, Beruf, Familienerziehung, Rasse, Geschlecht, Vermögenseinkommen, Vermögensverlust, wöchentliche Arbeitszeit, Herkunft, Einkommen usw. Dieser Datensatz sollte nützlich sein. Laden Sie ihn daher zuerst herunter.
Download-Link:
Klicken Sie hier, um die Quelldaten herunterzuladen und
Fügen Sie hier eine Bildbeschreibung ein
nach dem Herunterladen in adult.csv umzubenennen. Das ursprüngliche Suffix sind Daten. Löschen Sie sie daher direkt und erzwingen Sie den Wechsel in eine Datei im CSV-Format.
Fügen Sie hier eine Bildbeschreibung ein

3. Lesen Sie die Daten

import pandas as pd
data = pd.read_csv('D:\\Python\\adult.csv',header = None,index_col = False,
                  names = ['年龄','单位性质','权重','学历','受教育时长','婚姻状况','职业',
                           '家庭教育','种族','性别',
                           '资产所得','资产损失','周工作时长','原籍','收入'])
data_lite = data[['年龄','单位性质','学历','性别','周工作时长','职业','收入']]
data_lite.head()

Laufende Ergebnisse anzeigen:
Fügen Sie hier eine Bildbeschreibung ein

4. Verwenden Sie get_dummies, um Daten zu verarbeiten

Denn im Datensatz können wir sehen, dass die Art der Einheit, Bildung, Beruf, Geschlecht und Einkommen keine ganzzahligen Daten sind, sondern eine Zeichenfolge, die get_dummies verwendet, um dem vorhandenen Datensatz Dummy-Variablen hinzuzufügen, um den Datensatz zu ändern In ein verwendbares Format. Dummy-Variablen, auch Dummy-Variablen und diskrete Feature-Codes genannt, können verwendet werden, um die möglichen Auswirkungen kategorialer Variablen und nicht quantitativer Faktoren auszudrücken.

data_dummies = pd.get_dummies(data_lite)
print('样本原始特征:\n',list(data_lite.columns),'\n')
print('虚拟变量特征:\n',list(data_dummies.columns))

Anzeige der laufenden Ergebnisse:
Fügen Sie hier eine Bildbeschreibung ein
Als nächstes können wir uns die verarbeiteten Daten ansehen:

data_dummies.head()

Führen Sie die Codeergebnisse aus:
Fügen Sie hier eine Bildbeschreibung ein

5. Teilen Sie Feature-Variablen

Jede Datenspalte ist dem Merkmalsvektor X und dem Klassifizierungsetikett y zugeordnet. Der Eingabecode lautet wie folgt:

features = data_dummies.loc[:,'年龄':'职业_ Transport-moving']
X = features.values
y = data_dummies['收入_ >50K'].values #将收入大于50k的作为预测目标
print("代码运行结果:")
print('特征形态:{} 标签形态:{}'.format(X.shape,y.shape))

Anzeige des Code-Laufergebnisses:
Fügen Sie hier eine Bildbeschreibung ein

6. Erstellen Sie ein Datenmodell

Dieses Mal werden wir ein Modell mit einem Entscheidungsbaum erstellen. Wir haben 32.561 Beispieldaten und 44 Merkmalsvektoren.
1. Teilen Sie die Daten in Trainingssatz und Testsatz auf

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state = 0)

2. Passen Sie die Daten an eine zufällige Gesamtstruktur mit einer maximalen Tiefe von 5 an

from sklearn import tree
go_dating_tree = tree.DecisionTreeClassifier(max_depth = 5)
go_dating_tree.fit(X_train,y_train)
print('模型得分:{:.2f}'.format(go_dating_tree.score(X_test,y_test)))

Operationsergebnis: Aus der
Fügen Sie hier eine Bildbeschreibung ein
obigen zufälligen Waldmodellvorhersage können wir ersehen, dass das Modell 0,8 Punkte im Testsatz hat, was als sehr gut bezeichnet werden kann, dh die Genauigkeit der Vorhersagegenauigkeit dieses Modells beträgt 80%. Ich glaube, dieses Modell ist für kleine Q Geben Sie genügend Referenz in der Liebe.

7. Liebesvorhersage

Die Vorhersage besteht darin, sein Einkommen anhand der von Xiao Q bereitgestellten Situation anhand des vom Zufallswald erstellten Modells vorherzusagen und zu prüfen, ob er die Anforderungen an das Einkommen von Xiao Q über 50 W erfüllen kann.
Das Folgende sind die grundlegenden Informationen von Xiao Q:
Herr Z ist 37 Jahre alt, arbeitet in einer Provinzregierung, hat einen Master-Abschluss, ist männlich, arbeitet 40 Stunden pro Woche und ist ein professioneller Angestellter. Dann geben wir die entsprechenden Daten ein und machen Vorhersagen über das Modell. Geben Sie den Code wie folgt ein:

Mr_z = [[37,40,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0]]
dating_dec = go_dating_tree.predict(Mr_z)
print("代码运行结果:")
print("=================================\n")
if dating_dec ==1:
    print("大胆去追求真爱吧,这哥们牛批!")
else:
    print("不用去了,不满足你的要求!")

Betriebsergebnis:
Fügen Sie hier eine Bildbeschreibung ein

8. Ergebnisanalyse

Durch die Vorhersage des Datenmodells werden die Ergebnisse wie folgt angezeigt: Ja, die Maschine sagte Xiao Q kalt eine grausame Tatsache, dass Herr Z seine Anforderungen nicht erfüllte. Natürlich wusste er aus gesundem Menschenverstand auch, dass das Einkommen von Zivilpersonal 5 W nicht überschreiten würde. Verstehen Sie, dass es in China keine Korruption und Bestechung gibt.

9. Referenzen

1. Vertiefendes Verständnis des Python-Bereichs für maschinelles Lernen der kleinen Hand.

Ich denke du magst

Origin blog.csdn.net/qq_44176343/article/details/109769179
Empfohlen
Rangfolge