kaggle入门,一个简单的模型

模型介绍

这里是一个简单的入门例子,介绍机器学习。这个项目是从B站上Mosh的视频中学来的。
这个项目的整个流程大致可以分为,对数据的处理,建立适当的模型,训练模型,测试。
主要功能是,根据用户提供一个人的 age 和 gender 就可以预测出 ta 喜好的音乐类型。

样式

kaggle入门,一个简单的模型_第1张图片
开发工具是 anaconde 和 jupyter notebook,当然也可以用 pycharm 就是要 pip 很多包。这里用的是jupyter notebook。

代码

#!/usr/bin/env python
# coding: utf-8

# In[5]:


import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.externals import joblib

#处理数据
music_data = pd.read_csv('music.csv')
X = music_data.drop(columns=['genre'])
y = music_data['genre']
X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=0.2,
)

#建立模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

#保存模型
joblib.dump(model, 'music-recommender.joblib')

#输入测试数据,输出预测结果
predictions = model.predict(X_test)

#计算准确率
score = accuracy_score(y_test, predictions)
score


# In[48]:


#载入训练好的模型,输入要预测的数据[age,gender]
model = joblib.load('music-recommender.joblib')
predictions = model.predict([[21, 1]])
predictions


# In[50]:


from sklearn import tree

#以dot格式导出决策树
tree.export_graphviz(model,
                     out_file='music-recommender.dot',
                     feature_names=['age', 'gender'],
                     class_names=sorted(y.unique()),
                     label='all',
                     rounded=True,
                     filled=True)


GitHub链接

你可能感兴趣的:(kaggle入门,一个简单的模型)