- Python Data Science Essentials
- Alberto Boschetti Luca Massaron
- 330字
- 2021-08-13 15:19:38
Scikit-learn sample generators
As a last learning resource, the Scikit-learn package also offers the possibility to quickly create synthetic datasets for regression, binary and multilabel classification, cluster analysis, and dimensionality reduction.
The main advantage of recurring synthetic data lies in its instantaneous creation in the working memory of your Python console. It is, therefore, possible to create bigger data examples without having to engage in long downloading sessions from the internet (and saving a lot of stuff on your disk).
For example, you may need to work on a classification problem involving a million data points:
In: from sklearn import datasets
X,y = datasets.make_classification(n_samples=10**6,
n_features=10, random_state=101)
print (X.shape, y.shape)
Out: (1000000, 10) (1000000,)
After importing just the datasets module, we ask, using the make_classification command, for one million examples (the n_samples parameter) and 10 useful features (n_features). The random_state should be 101, so we are assured that we can replicate the same datasets at a different time and in a different machine.
For instance, you can type the following command:
In: datasets.make_classification(1, n_features=4, random_state=101)
This will always give you the following output:
Out: (array([[-3.31994186, -2.39469384, -2.35882002, 1.40145585]]),
array([0]))
No matter what the computer and the specific situation are, random_state assures deterministic results that make your experimentations perfectly replicable.
Defining the random_state parameter using a specific integer number (in this case, it's 101, but it may be any number that you prefer or find useful) allows easy replication of the same dataset on your machine, the way it is set up, on different operating systems, and on different machines.
By the way, did it take too long?
On a i3-2330M CPU @ 2.20 GHz machine, it takes this:
In: %timeit X,y = datasets.make_classification(n_samples=10**6,
n_features=10, random_state=101)
Out: 1 loops, best of 3: 1.17 s per loop
If it doesn't seem like it did take too long on your machine, and if you are ready, having set up and tested everything up to this point, we can start our data science journey.
- Microsoft Dynamics CRM Customization Essentials
- 商戰數據挖掘:你需要了解的數據科學與分析思維
- Learning Apache Spark 2
- Hybrid Cloud for Architects
- Mastering Game Development with Unreal Engine 4(Second Edition)
- 工業機器人維護與保養
- 電子設備及系統人機工程設計(第2版)
- 單片機技能與實訓
- Mastering Geospatial Analysis with Python
- 經典Java EE企業應用實戰
- JRuby語言實戰技術
- 大數據:引爆新的價值點
- JSP網絡開發入門與實踐
- Flash CS3動畫制作融會貫通
- Microsoft Power BI Complete Reference